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

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

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

  • 然后,使用 lapply 函数在存储在列表中的数据帧中创建一个对另一列进行幂次幂的列。

示例

创建数据框列表

使用data.frame函数创建数据框和列表函数来创建这些数据框的列表 -

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
输出结果

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

[[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

猜你喜欢