如何通过加法合并R中data.table对象中的两行?
要data.table通过加法组合R中对象中的两行,我们可以按照以下步骤操作 -
首先,创建一个data.table对象。
然后,使用加号 (+) 将两行相加并将相加存储在其中一行中。
之后,删除不需要的行,用单个方括号进行子集化。
示例
创建data.table对象
让我们创建一个data.table对象,如下所示: -
library(data.table)输出结果x<-sample(1:5,25,replace=TRUE)
y<-sample(1:5,25,replace=TRUE)
z<-sample(1:5,25,replace=TRUE)
DT<-data.table(x,y,z)
DT
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x y z1: 3 1 2
2: 2 4 3
3: 3 3 1
4: 1 1 1
5: 1 1 1
6: 5 2 3
7: 2 5 1
8: 2 5 4
9: 4 1 1
10: 1 3 2
11: 1 3 5
12: 4 5 2
13: 4 4 1
14: 2 1 5
15: 1 5 2
16: 3 4 4
17: 5 5 4
18: 2 2 5
19: 1 4 5
20: 4 5 5
21: 4 1 1
22: 5 5 2
23: 4 1 4
24: 1 2 3
25: 4 3 1
x y z
添加两行
使用加号将第 1 行和第 2 行相加,然后将总和存储在第 1 行中 -
library(data.table)输出结果x<-sample(1:5,25,replace=TRUE)
y<-sample(1:5,25,replace=TRUE)
z<-sample(1:5,25,replace=TRUE)
DT<-data.table(x,y,z)
DT[1,]<-DT[1,]+DT[2,]
DT
x y z1: 5 5 5
2: 2 4 3
3: 3 3 1
4: 1 1 1
5: 1 1 1
6: 5 2 3
7: 2 5 1
8: 2 5 4
9: 4 1 1
10: 1 3 2
11: 1 3 5
12: 4 5 2
13: 4 4 1
14: 2 1 5
15: 1 5 2
16: 3 4 4
17: 5 5 4
18: 2 2 5
19: 1 4 5
20: 4 5 5
21: 4 1 1
22: 5 5 2
23: 4 1 4
24: 1 2 3
25: 4 3 1
x y z
删除不需要的行
使用单个正方形子集从对象 DT 中删除第二行data.table-
library(data.table)输出结果x<-sample(1:5,25,replace=TRUE)
y<-sample(1:5,25,replace=TRUE)
z<-sample(1:5,25,replace=TRUE)
DT<-data.table(x,y,z)
DT[1,]<-DT[1,]+DT[2,]
DT[-2,]
x y z1: 5 5 5
2: 3 3 1
3: 1 1 1
4: 1 1 1
5: 5 2 3
6: 2 5 1
7: 2 5 4
8: 4 1 1
9: 1 3 2
10: 1 3 5
11: 4 5 2
12: 4 4 1
13: 2 1 5
14: 1 5 2
15: 3 4 4
16: 5 5 4
17: 2 2 5
18: 1 4 5
19: 4 5 5
20: 4 1 1
21: 5 5 2
22: 4 1 4
23: 1 2 3
24: 4 3 1
x y z
以上是 如何通过加法合并R中data.table对象中的两行? 的全部内容, 来源链接: utcz.com/z/317248.html