如何在 R 中根据列数来分割 data.table 对象行?


若要在 R 的 data.table 对象中根据列数来分割行值,我们可以按照以下步骤执行:

  • 首先,创建一个 data.table 对象。
  • 然后,使用 apply 函数根据列数来分割 data.table 对象行值。

创建数据框

让我们创建一个数据框,如下所示:

library(data.table)
x<-sample(0:9,25,replace=TRUE)
y<-sample(0:9,25,replace=TRUE)
DT<-data.table(x,y)
DT

执行以上脚本后,将生成以下输出(由于随机化,此输出在您的系统上会有所不同):

   x y
1: 4 4
2: 6 4
3: 6 4
4: 8 0
5: 1 6
6: 2 3
7: 8 9
8: 2 3
9: 3 7
10: 1 3
11: 2 9
12: 7 3
13: 1 0
14: 9 8
15: 5 6
16: 5 8
17: 0 0
18: 7 3
19: 6 7
20: 5 0
21: 1 3
22: 6 0
23: 5 8
24: 4 7
25: 1 1
x y

根据列数来分割 data.table 对象行值

使用 apply 函数根据列数来分割 DT 的行值:

library(data.table)
x<-sample(0:9,25,replace=TRUE)
y<-sample(0:9,25,replace=TRUE)
DT<-data.table(x,y)
DT_new<-t(apply(DT,1, function(x) x/length(x)))
DT_new

输出

      x   y
[1,] 2.0 2.0
[2,] 3.0 2.0
[3,] 3.0 2.0
[4,] 4.0 0.0
[5,] 0.5 3.0
[6,] 1.0 1.5
[7,] 4.0 4.5
[8,] 1.0 1.5
[9,] 1.5 3.5
[10,] 0.5 1.5
[11,] 1.0 4.5
[12,] 3.5 1.5
[13,] 0.5 0.0
[14,] 4.5 4.0
[15,] 2.5 3.0
[16,] 2.5 4.0
[17,] 0.0 0.0
[18,] 3.5 1.5
[19,] 3.0 3.5
[20,] 2.5 0.0
[21,] 0.5 1.5
[22,] 3.0 0.0
[23,] 2.5 4.0
[24,] 2.0 3.5
[25,] 0.5 0.5

更新时间:13-8-2021

508 次浏览

开启你的 职业生涯

通过完成课程来获得认证

开始
广告