相关疑难解决方法(0)

快速融化的data.table操作

我正在寻找用于操纵data.table对象的模式,这些对象的结构类似于meltreshape2包创建的数据帧的结构.我正在处理数百万行的数据表.表现至关重要.

问题的一般形式是是否存在基于列中的值的子集执行分组并且使分组操作的结果创建一个或多个新列的方法.

问题的一个特定形式可能是如何使用data.table以完成以下内容的等效dcast:

input <- data.table(
  id=c(1, 1, 1, 2, 2, 2, 3, 3, 3, 3), 
  variable=c('x', 'y', 'y', 'x', 'y', 'y', 'x', 'x', 'y', 'other'),
  value=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10))
dcast(input, 
  id ~ variable, sum, 
  subset=.(variable %in% c('x', 'y')))
Run Code Online (Sandbox Code Playgroud)

其输出是

  id  x  y
1  1  1  5
2  2  4 11
3  3 15  9
Run Code Online (Sandbox Code Playgroud)

r aggregation dataframe reshape2 data.table

8
推荐指数
1
解决办法
1650
查看次数

标签 统计

aggregation ×1

data.table ×1

dataframe ×1

r ×1

reshape2 ×1