如何在R的data.table对象中通过加法合并两行?
要在R的data.table对象中通过加法合并两行,我们可以按照以下步骤操作:
首先,创建一个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
输出
执行上述脚本后,将生成以下输出(由于随机化,此输出可能因系统而异):
x y z
1: 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 z
1: 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移除不需要的行
使用单方括号子集选择从data.table对象DT中移除第2行:
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 z 1: 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
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP