相关疑难解决方法(0)

在每列上混合使用不同的操作来折叠data.table

我有data.table以下功能:

  • bycols 将数据分成组
  • nonvaryingcols 在每个小组中保持不变(这样从每个小组中取出第一个项目并进行通过就足够了)
  • datacols 需要对它们执行一些汇总操作(例如在组内汇总)

我很好奇什么是最有效的方法,你可以称之为混合崩溃,将上述所有三个输入作为字符向量.它不一定是绝对最快的,但是使用合理的语法足够快将是理想的.

示例数据:

require(data.table)
set.seed(1)
bycols <- c("g1","g2")
datacols <- c("dat1","dat2")
nonvaryingcols <- c("nv1","nv2")
test <- data.table(
  g1 = rep( letters, 10 ),
  g2 = rep( c(LETTERS,LETTERS), each = 5 ),
  dat1 = runif( 260 ),
  dat2 = runif( 260 ),
  nv1 = rep( seq(130), 2),
  nv2 = rep( seq(130), 2) 
)
Run Code Online (Sandbox Code Playgroud)

最终数据应如下所示:

   g1 g2      dat1      dat2 nv1 nv2
1:  a  A 0.8403809 0.6713090   1   1
2:  b  A 0.4491883 0.4607716   2 …
Run Code Online (Sandbox Code Playgroud)

r collapse data.table

3
推荐指数
1
解决办法
139
查看次数

标签 统计

collapse ×1

data.table ×1

r ×1