如何在存储在 R 列表中的数据框中创建差值列?


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

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

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

示例

创建数据框列表

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

df1<-data.frame(x=rpois(25,1),y=rpois(25,3))
df2<-data.frame(x=rpois(25,5),y=rpois(25,2))
List<-list(df1,df2)
List

输出

执行上述脚本后,将生成以下输出(此输出由于随机化,因系统而异):

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

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

在列表中存储的数据框中创建差值列

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

df1<-data.frame(x=rpois(25,1),y=rpois(25,3))
df2<-data.frame(x=rpois(25,5),y=rpois(25,2))
List<-list(df1,df2)
lapply(List,function(x) {
+ x$Difference<-x$x-x$y
+ return(x)
+ })

输出

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

更新于:2021年11月9日

89 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告