如何使用R数据帧中的每列或某些列的行值创建新列?

R数据帧的列比较可以通过多种方式完成,一种方式是具有一列或多列均值。这样,我们可以将原始数据列与均值列进行比较,也可以将均值列与另一组均值进行比较。我们可以使用apply函数来创建一个新列,并为R数据帧的每一列或某些列使用行值。

示例

考虑下面的数据框

x1 <-1:20

x2 <-1:20

x3 <-20:1

df <-data.frame(x1,x2,x3)

df

输出结果

x1 x2 x3

1 1 1 20

2 2 2 19

3 3 3 18

4 4 4 17

5 5 5 16

6 6 6 15

7 7 7 14

8 8 8 13

9 9 9 12

10 10 10 11

11 11 11 10

12 12 12 9

13 13 13 8

14 14 14 7

15 15 15 6

16 16 16 5

17 17 17 4

18 18 18 3

19 19 19 2

20 20 20 1

我们将为所有列的平均值和某些列的平均值创建新列-

示例

df$Means <-apply(df,1,mean)

df

输出结果

x1 x2 x3 Means

1 1 1 20 7.333333

2 2 2 19 7.666667

3 3 3 18 8.000000

4 4 4 17 8.333333

5 5 5 16 8.666667

6 6 6 15 9.000000

7 7 7 14 9.333333

8 8 8 13 9.666667

9 9 9 12 10.000000

10 10 10 11 10.333333

11 11 11 10 10.666667

12 12 12 9 11.000000

13 13 13 8 11.333333

14 14 14 7 11.666667

15 15 15 6 12.000000

16 16 16 5 12.333333

17 17 17 4 12.666667

18 18 18 3 13.000000

19 19 19 2 13.333333

20 20 20 1 13.666667

示例

df$Means_of_x1_and_x2 <-apply(df[,1:2],1,mean)

df

输出结果

x1 x2 x3 Means Means_of_x1_and_x2

1 1 1 20 7.333333 1

2 2 2 19 7.666667 2

3 3 3 18 8.000000 3

4 4 4 17 8.333333 4

5 5 5 16 8.666667 5

6 6 6 15 9.000000 6

7 7 7 14 9.333333 7

8 8 8 13 9.666667 8

9 9 9 12 10.000000 9

10 10 10 11 10.333333 10

11 11 11 10 10.666667 11

12 12 12 9 11.000000 12

13 13 13 8 11.333333 13

14 14 14 7 11.666667 14

15 15 15 6 12.000000 15

16 16 16 5 12.333333 16

17 17 17 4 12.666667 17

18 18 18 3 13.000000 18

19 19 19 2 13.333333 19

20 20 20 1 13.666667 20

示例

df$Means_of_x1_and_x3 <-apply(df[,1:3],1,mean)

df

输出结果

x1 x2 x3 Means Means_of_x1_and_x2 Means_of_x1_and_x3

1 1 1 20 7.333333 1 7.333333

2 2 2 19 7.666667 2 7.666667

3 3 3 18 8.000000 3 8.000000

4 4 4 17 8.333333 4 8.333333

5 5 5 16 8.666667 5 8.666667

6 6 6 15 9.000000 6 9.000000

7 7 7 14 9.333333 7 9.333333

8 8 8 13 9.666667 8 9.666667

9 9 9 12 10.000000 9 10.000000

10 10 10 11 10.333333 10 10.333333

11 11 11 10 10.666667 11 10.666667

12 12 12 9 11.000000 12 11.000000

13 13 13 8 11.333333 13 11.333333

14 14 14 7 11.666667 14 11.666667

15 15 15 6 12.000000 15 12.000000

16 16 16 5 12.333333 16 12.333333

17 17 17 4 12.666667 17 12.666667

18 18 18 3 13.000000 18 13.000000

19 19 19 2 13.333333 19 13.333333

20 20 20 1 13.666667 20 13.666667

示例

$Means_of_x2_and_x3 &klt;-apply(df[,2:3],1,mean)

df

输出结果

x1 x2 x3 Means Means_of_x1_and_x2 Means_of_x1_and_x3 Means_of_x2_and_x3

1 1 1 20 7.333333 1 7.333333 10.5

2 2 2 19 7.666667 2 7.666667 10.5

3 3 3 18 8.000000 3 8.000000 10.5

4 4 4 17 8.333333 4 8.333333 10.5

5 5 5 16 8.666667 5 8.666667 10.5

6 6 6 15 9.000000 6 9.000000 10.5

7 7 7 14 9.333333 7 9.333333 10.5

8 8 8 13 9.666667 8 9.666667 10.5

9 9 9 12 10.000000 9 10.000000 10.5

10 10 10 11 10.333333 10 10.333333 10.5

11 11 11 10 10.666667 11 10.666667 10.5

12 12 12 9 11.000000 12 11.000000 10.5

13 13 13 8 11.333333 13 11.333333 10.5

14 14 14 7 11.666667 14 11.666667 10.5

15 15 15 6 12.000000 15 12.000000 10.5

16 16 16 5 12.333333 16 12.333333 10.5

17 17 17 4 12.666667 17 12.666667 10.5

18 18 18 3 13.000000 18 13.000000 10.5

19 19 19 2 13.333333 19 13.333333 10.5

20 20 20 1 13.666667 20 13.666667 10.5

以上是 如何使用R数据帧中的每列或某些列的行值创建新列? 的全部内容, 来源链接: utcz.com/z/347419.html

回到顶部