SORU
17 Mayıs 2010, PAZARTESİ


Veri dönüştürün.karakter etkenlerden Kare sütun

Veri bir çerçeve var. Hadi onu bob arayın:

> head(bob)
                 phenotype                         exclusion
GSM399350 3- 4- 8- 25- 44  11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399351 3- 4- 8- 25- 44  11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399352 3- 4- 8- 25- 44  11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399353 3- 4- 8- 25  44  11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399354 3- 4- 8- 25  44  11b- 11c- 19- NK1.1- Gr1- TER119-
GSM399355 3- 4- 8- 25  44  11b- 11c- 19- NK1.1- Gr1- TER119-

Bu veri çerçeve (bu başka bir soru olacak) satırları bağlamak istiyorum. Ama bak:

> class(bob$phenotype)
[1] "factor"

Bob'nın sütunları faktörlerdir. Bu yüzden, örneğin:

> as.character(head(bob))
[1] "c(3, 3, 3, 6, 6, 6)"       "c(3, 3, 3, 3, 3, 3)"      
[3] "c(29, 29, 29, 30, 30, 30)"

Bu anlamaya başlar bilmiyorum ama bu sütunların düzeylerini (king caractacus Mahkemesi) bob dizinler mi? İhtiyacım olmayan şey.

Garip bir şekilde elle bob kolonlar üzerinden gidebilirim

bob$phenotype <- as.character(bob$phenotype)

gayet iyi çalışıyor. Ve, bazı yazdıktan sonra, bir veri alabilirim.faktörler yerine karakter olan çerçeve. Yani benim soru: nasıl bu otomatik olarak yapabilir miyim? Nasıl bir veri dönüştürebilirim.bir veri içine faktör sütunlarla çerçeve.el ile her sütun üzerinden gitmek zorunda kalmadan karakter sütunlarla çerçeve?

Neden manuel yaklaşım işe yarıyor mu? Bonus soru:

CEVAP
17 Mayıs 2010, PAZARTESİ


Sadece Matt ve Dirk aşağıdaki. Eğer küresel seçeneği değiştirmeden mevcut veri çerçevesi yeniden oluşturmak istiyorsanız, bir deyim uygulamak ile yeniden oluşturun:

bob <- data.frame(lapply(bob, as.character), stringsAsFactors=FALSE)

Bu "karakter" eğer tek faktör dönüştürmek istiyorsanız,, 21* *görmek. sınıf için tüm değişkenleri dönüştürür

@Hadley işaret, aşağıdaki daha kısa.

bob[] <- lapply(bob, as.character)

Her iki durumda da, lapply bir liste, ancak R büyülü özellikleri nedeniyle çıkışlar, ikinci durumda [] kullanımı veri tutar.bob Kare sınıfı, böylece bir veri geri dönüştürmek için gerek kalmadan nesne.tartışma stringsAsFactors = FALSE 19 *kullanarak çerçeve.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • Jana Williams

    Jana William

    17 AĞUSTOS 2011
  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010