У меня есть data.table
в R
с 200 столбцами с целыми значениями.Выбор столбцов на основе определенных условий в таблице данных. R
Один из столбцов называется группой и имеет 100 различных возможных значений.
Так что, когда я Подмножество с помощью: subDT<-DT[group==N]
, например, и если я делаю, sum(subDT$columnX)
, может быть, значение суммы будет 0.
Так что я хочу сделать, это отобразить subDT
, но только столбцы, где sum(subDT$columnN)!=0
, что-то вроде subDT[group==0,.(columns where sum(column)>0)]
, сохраняя, конечно, имена столбцов.
EDIT
Пример использования mtcars данных будет:
DT<-as.data.table(mtcars)
Давайте предположим, что мы хотим, чтобы подмножество mtcars и получить строки, где карбюратор является 1, но отображения столбцов, только если сумма подмножества меньше 10:
DT[carb == 1, (sapply(DT[carb == 1],sum) < 10), with = FALSE]
В этом случае столбцы, которые будут отображаться только против, я и карбюратор, так как сумма этих столбцов меньше, чем 10
Просьба представить [воспроизводимый пример] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) ваших данных. Это действительно 'data.table' или' data.frame'? – Molx
@Molx синтаксис явно является «data.table» one –
. Вы действительно должны представить воспроизводимый пример, потому что, поскольку он стоит сейчас, эти вопросы никому не полезны и должны быть закрыты. IMO –