相关疑难解决方法(0)

在大型数据集上进行逐行操作

我正在寻找一种更快的方式来实现下面的操作.数据集包含> 1M行,但我提供了一个简化示例来说明任务 -

To create the data table --

dt <- data.table(name=c("john","jill"), a1=c(1,4), a2=c(2,5), a3=c(3,6), 
      b1=c(10,40), b2=c(20,50), b3=c(30,60))

colGroups <- c("a","b")   # Columns starting in "a", and in "b"

Original Dataset
-----------------------------------
name    a1   a2   a3   b1   b2   b3
john    1    2    3    10   20   30
jill    4    5    6    40   50   60
Run Code Online (Sandbox Code Playgroud)

上面的数据集被转换为每个唯一名称添加2个新行,并且在每一行中,每个列的列独立地左移(在这个例子中我使用了列和b列,但还有更多)

Transformed Dataset
-----------------------------------
name    a1   a2   a3   b1   b2   b3
john    1    2    3    10   20   30  # First Row for John
john    2    3    0 …
Run Code Online (Sandbox Code Playgroud)

r data.table

2
推荐指数
1
解决办法
915
查看次数

标签 统计

data.table ×1

r ×1