2012-01-30 16 views
6

Ben data.frames listesi var ve tüm data.frames tüm üçüncü sütunları alma kolay bir indeksleme yolu olup olmadığını merak ediyorum. Veya x olarak adlandırılan tüm sütunlar? Konuşma R:Data.frames'ın dizin listesi - tüm x-inci sütunları nasıl alınır?

lapply(names(mylist),function(x) mylist[[x]][,3]) 

sadece endeksleme tarafından bunu yapmak için herhangi bir yolu var mı mylist gibi [[]] [3]?

EDIT (besbelli çalışmayan): Ve bir faktördür o sütun 3 verilen

lapply(names(mylist),function(x) nlevels(mylist[[x]][,3])) 

gibi, şöyle nlevels gibi bir işlevi kullanmak istediğinizde, bunu nasıl yapacağım.

cevap

9

Belki bu biraz daha kolaydır: gerçekten

lapply(mylist, "[[", 3) 
lapply(mylist, "[[", name_of_column) 
+0

+1. lapply'nin ikinci argümanını böyle kullanabileceğini bilmiyordum. kaygan. Ama diğer yandan, bu sadece endekslemeyi kullanmanın bir yolu olmadığı anlamına mı geliyor? –

+0

Sadece "endeksleme" ile ne demek istiyorsun? – kohske

+0

mylist [[]] [, 3], eğer işe yarayacaksa böyle bir şey. Herhangi bir döngü veya uygulama kullanmadan. –

İlgili konular