我想创建一个data.table对象,通过从其他data.tables中取出并合并它们。这里有一个简单的例子:如何逐行更新R data.table的所有列?
a <- data.frame(x=1:30)
b <- data.frame(x=10:39)
c <- data.frame(x=20:49)
d <- data.frame(x=50:79)
e <- data.frame(x=60:89)
f <- data.frame(x=70:99)
DT <- data.table(matrix(ncol = 3, nrow = 30))
for (i in seq.int(from = 1, to = 30, by = 3)) {
set(DT,i,.SD,cbind(a[i,],b[i,],c[i,]))
set(DT,(i+1),.SD,cbind(d[i,],e[i,],f[i,]))
set(DT,(i+2),.SD,"")
}
但是这是行不通的。我哪里做错了?任何人都可以推荐一个更好的方法来实现这种效果?我总觉得有点不安循环像这样R.
所需的输出应该是这样的:(显示第几行)
x x x
1: 1 10 20
2: 50 60 70
3:
4: 2 11 21
5: 51 61 71
6:
7: 3 12 22
8: 52 62 72
9:
10: 4 13 23
你能包括你想要你的输出看起来像什么吗?你上面给出的代码不适合我。 –
'1:30'和'10:40'对于初学者来说长度不一样。 – thelatemail
您应该在示例输出中包含更多行。 –