Как я могу группировать data.table
, например. с именами файлов по метаданным и хранить каждую группу в list
-этом?Выходной агрегат данных в виде списка
Вход:
DT <- data.table(files = 1:10, meta = c(rep(1, 6), rep(2,4)))
Я думал, что-то вроде:
MyList <- DT[, files, by = meta] #something like that
Желаемая Выход:
[[1]]
[1] 1 2 3 4 5 6
[[2]]
[1] 7 8 9 10
Приведенный выше пример упрощен в том случае, мета- на самом деле m рудные столбцы (группировать), а некоторые строки выбираются раньше. Есть простой путь (предпочтительный в data.table
-решение), или я должен использовать другой способ, как
lapply(unique(DT$meta), function(x) DT[meta == x]$files)
?
Почему вы считаете, нужен этот вывод? – Roland
Чтобы прочитать каждый файл в каждом элементе списка и обработать его отдельно во многих последующих шагах. Я знаю о возможности обрабатывать файлы в data.table с помощью чего-то вроде '' DT [, sapply (files, read.csv), by = meta] 'или подобным, но это было бы не очень полезно, если бы много шагов вместо '' read.csv''. – Phann