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

  • Art Food Kitty - Kelly Eddington

    Art Food Kit

    7 Kasım 2006
  • Canceriansoul

    Canceriansou

    15 Ocak 2011
  • Dylan Brenan

    Dylan Brenan

    22 Aralık 2009