Veri kümeleri listesinde okudum ve buna n denir. Ne yapmak istediğim, n ve satırdaki veri kümelerinin bir alt kümesini R'de bir araya getirmektir. rbind(n)
'a gitmeye çalıştığımda, bu yalnızca öğeleri yerleştirmek yerine veri kümelerinin tüm adlarının veri çerçevesini verir. Her bir veri kümesinin altında. Yapmak istediğim, ortak bir adı paylaşan veri kümelerinin alt kümelerini bağlamaktır. Örneğin, veri kümelerinin 18'i "4." ile başlar. ve hepsini bir araya getirmek istiyorum. Bunu yapmanın kolay bir yolu var mı?Satır Bir Veri Küme Grubu Bağlama?
5
A
cevap
11
Yapmak istediğiniz ile aynı olmak istemiyor rbind(n[[1]],n[[2]],...)
olduğunu. Bu yazmak gerekmez
do.call
kullanmak ve istediğiniz komuta çalışacak bu
call
do.call(rbind, n)
yürütebilirsiniz. Ancak, bu yalnızca bu unsurları istiyorsanız notoriously slow
Sen kimin adı 4
rbindlist(n[grep(names(n), pattern = '^4')])
1
Eğer başlamak
library(data.table)
rbindlist(n)
çok daha hızlı aynı şeyi yapmak için data.table
paketinden rbindlist
kullanabileceği başka birçok dosyayı bir araya getirmeye çalışın, plyr paketinde rbind.fill
işlevine gereksiniminiz olabilir (bir data.table eşdeğeri varsa don \ 't)
ll <- list(a=data.frame(x=1,y=2,z=1),
b= data.frame(x=2,y=3),
c=data.frame(x=3:4,y=5))
library(plyr)
Reduce(rbind.fill,ll[c('a','b')]) ## subset by list names and
## apply recursively using Reduce
x y z
1 1 2 1
2 2 3 NA
+0
Bir rbind.fill eşdeğerini bilmiyorum, ancak bir şey http://stackoverflow.com/a/15017231/1385941 – mnel
Müthiş teşekkürler, tam olarak ne istediğimi yapıyor! Şimdi bunu bir alt küme için nasıl yapabilirim, "4." niçin isminde bir yerlerinde niçin gerçekte gitmeye gerek kalmadan listeden hangi numaralara bakmak gerekiyor? – user1836894
@ user1836894 Bunlar, listenin öğelerinin adları mı? – mnel
Evet öyle. Dosyaların bir listesi var ve bunlar dosyaların bir alt kümesine ait isimler. – user1836894