如何通过加法将 R 中 data.table 对象中的两行合并?
r programmingserver side programmingprogramming更新于 2025/4/7 19:37:17
要通过加法将 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 中删除第二行 −
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