'daki bir değerler temelinde data.table nasıl alt kümeye alınabilir? Veri.table'da, bir tablonun sayısal sayı vektörünün temelinde bir alt gruba ayırmanın bir yolu, with=FALSE
kullanımını içerir.Belirli bir sütun numarası
şöyle ben satır miting bir kriter arayan sütun numaralarının sayısal vektör temelinde bir data.table döngü çalışıyorum: Benim durumda
require(data.table)
ab=data.table(id=c("geneA", "geneB", "geneC", "geneA", "geneA", "geneB", "", "NA"),
co1=c(1,2,3,0,7), co2=c(0,0,4,5,6), nontarget=c(9,0,7,6,5),
co3=c(0,1,2,3,4))
target_col_nums=grep('co', colnames(ab))
##Data.table doesn't treat colnames(ab)[i] as one of the
## column name variables, and with=F only seems to work for j in dt[i,j,by]
for (i in target_col_nums){
print(ab[colnames(ab)[i]>3])
}
##This produces the desired output
ab[co1>3]
ab[co2>3]
ab[co3>3]
, benim asıl masam oldukça büyük, dolayısıyla colnamesleri kendim kullanamıyorum.
Umarım bu, topluluğa yararlı bir sorudur.
Örnek verilerinizin uyarı ürettiğinin farkında mısınız? – SymbolixAU
"Gerçek tablom oldukça geniştir, bu yüzden colnamesleri kendim kullanamıyorum." Bu bana mantıklı gelmiyor. Sütun adlarınız anlamsızsa, devam edin ve bunun yerine bir matris kullanın, aksi halde, sayıya atıfta bulunmak yerine bir dize/karakter vektörüne dahil olduklarını düşünüyorum. Burada, bu genellikle https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-faq.html#j-num – Frank