如何在存储在 R 列表中的数据框中创建另一列的幂列?


要创建存储在 R 列表中的数据框中另一列的幂列,我们可以按照以下步骤操作:

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

  • 然后,使用 lapply 函数在存储在列表中的数据框中创建另一列的幂列。

示例

创建数据框列表

使用 data.frame 函数创建数据框,并使用 list 函数创建这些数据框的列表:

df1<-data.frame(x=sample(1:10,25,replace=TRUE),y=sample(1:5,25,replace=TRUE))
df2<-data.frame(x=sample(1:2,25,replace=TRUE),y=sample(1:5,25,replace=TRUE))
List<-list(df1,df2)
List

输出

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

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

创建另一列的幂列

使用 lapply 函数在存储在名为 List 的列表中的数据框 df1 和 df2 中创建另一列的幂列,如下所示:

df1-data.frame(x=sample(1:10,25,replace=TRUE),y=sample(1:5,25,replace=TRUE))
df2<-data.frame(x=sample(1:2,25,replace=TRUE),y=sample(1:5,25,replace=TRUE))
List<-list(df1,df2)
lapply(List,function(x) {
+ x$PowerCol2<-(x$x)^(x$y)
+ return(x)
+ })

输出

[[1]]
    x y PowerCol2
1   9 4  6561
2   4 4  256
3   4 1    4
4   6 3  216
5   8 4  4096
6   6 3  216
7   4 1    4
8   5 2   25
9   8 5 32768
10 10 2  100
11  2 4   16
12  9 3  729
13  9 4 6561
14  6 2   36
15 10 3 1000
16 10 1   10
17  4 2   16
18  5 5 3125
19  2 1    2
20  3 4   81
21  7 5 16807
22  7 4 2401
23  4 2   16
24  7 4 2401
25  6 2   36
[[2]]
   x y PowerCol2
1  2 5 32
2  1 5  1
3  1 2  1
4  1 1  1
5  1 4  1
6  2 1  2
7  1 2  1
8  1 2  1
9  1 3  1
10 1 5  1
11 1 2  1
12 2 4 16
13 2 4 16
14 1 3  1
15 2 4 16
16 2 3  8
17 1 1  1
18 2 1  2
19 1 2  1
20 1 5  1
21 2 5 32
22 1 3  1
23 1 4  1
24 2 3  8
25 2 1  2

更新于: 2021年11月12日

285 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告