如何按R中的列数划分数据框行?

要按 R 中的列数划分数据框行,我们可以按照以下步骤操作 -

  • 首先,创建一个数据框。

  • 然后,使用 apply 函数按列数划分数据框行。

创建数据框

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

例子

x<-rpois(25,1)

y<-rpois(25,2)

z<-rpois(25,2)

df<-data.frame(x,y,z)

df

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

输出

  x y z

1 0 1 4

2 0 4 2

3 1 3 2

4 1 1 3

5 0 4 2

6 0 2 4

7 2 1 1

8 0 4 1

9 0 2 2

10 0 1 1

11 0 2 5

12 3 3 1

13 1 2 2

14 1 3 4

15 1 1 1

16 3 4 3

17 3 1 2

18 2 2 0

19 1 2 3

20 1 1 0

21 0 1 1

22 2 2 0

23 1 2 1

24 0 2 0

25 0 1 1

按列数划分数据框行

使用 apply 函数将 df 的行除以 df 中的列数 -

例子

x<-rpois(25,1)

y<-rpois(25,2)

z<-rpois(25,2)

df<-data.frame(x,y,z)

df_new<-t(apply(df,1, function(x) x/length(x)))

df_new

输出

         x          y       z

[1,] 0.0000000 0.3333333 1.3333333

[2,] 0.0000000 1.3333333 0.6666667

[3,] 0.3333333 1.0000000 0.6666667

[4,] 0.3333333 0.3333333 1.0000000

[5,] 0.0000000 1.3333333 0.6666667

[6,] 0.0000000 0.6666667 1.3333333

[7,] 0.6666667 0.3333333 0.3333333

[8,] 0.0000000 1.3333333 0.3333333

[9,] 0.0000000 0.6666667 0.6666667

[10,] 0.0000000 0.3333333 0.3333333

[11,] 0.0000000 0.6666667 1.6666667

[12,] 1.0000000 1.0000000 0.3333333

[13,] 0.3333333 0.6666667 0.6666667

[14,] 0.3333333 1.0000000 1.3333333

[15,] 0.3333333 0.3333333 0.3333333

[16,] 1.0000000 1.3333333 1.0000000

[17,] 1.0000000 0.3333333 0.6666667

[18,] 0.6666667 0.6666667 0.0000000

[19,] 0.3333333 0.6666667 1.0000000

[20,] 0.3333333 0.3333333 0.0000000

[21,] 0.0000000 0.3333333 0.3333333

[22,] 0.6666667 0.6666667 0.0000000

[23,] 0.3333333 0.6666667 0.3333333

[24,] 0.0000000 0.6666667 0.0000000

[25,] 0.0000000 0.3333333 0.3333333

以上是 如何按R中的列数划分数据框行? 的全部内容, 来源链接: utcz.com/z/343848.html

回到顶部