如何通过加法合并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 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

删除不需要的行

使用单个正方形子集从对象 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 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

以上是 如何通过加法合并R中data.table对象中的两行? 的全部内容, 来源链接: utcz.com/z/317248.html

回到顶部