data.table版本的ldply

时间:2015-06-01 20:39:41

标签: r data.table

相当于' ldply'对于“data.frame'” lapply列表中的一项功能(例如“mylist'”)然后是“rbindlist”'到' data.table的列表(自动附加'名称(mylist)'作为ID列)。

我知道编写这样一个方便的包装器是微不足道的,但只是想知道它是否是' data.table'包已提供?

1 个答案:

答案 0 :(得分:2)

我不确定我理解这个问题。由于data.table是" data.frames"的增强版本,因此在很多情况下,可以将其视为data.frame。 Data.table有一个特殊的符号" .SD"这使您可以使用原始数据的子集。介于" .SD"和#34;:="操作员,我想你会找到答案。以下是一些资源:

请参阅" e)以下文档中j - .SD" 中的多个列:
https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-intro-vignette.html

请参阅以下文档中的" b):=运算符" 部分:
https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-reference-semantics.html

从文档中引用:

  

要计算(多个)列,我们可以简单地使用基数R.   function lapply()。

DT[, lapply(.SD, mean), by=ID]
#    ID   a    b    c
# 1:  b 2.0  8.0 14.0
# 2:  a 4.5 10.5 16.5
# 3:  c 6.0 12.0 18.0

如果这不符合你的意思,请提供一个可重复的例子,说明你要完成的任务。

PS:我发现本教程非常有用:
https://www.datacamp.com/courses/data-table-data-manipulation-r-tutorial