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

r programmingserver side programmingprogramming更新于 2025/4/7 14:52:17

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

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

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

示例

创建数据框列表

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

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

输出

执行时,上述脚本会生成以下输出(由于随机化,此输出将因您的系统而异) −

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

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

创建一列阶乘值

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

df1<-data.frame(x=sample(1:9,25,replace=TRUE))
df2<-data.frame(x=sample(1:9,25,replace=TRUE))
List<-list(df1,df2)
lapply(List,function(x) {
+ x$Factorial<-factorial(x$x)
+ return(x)
+ })

输出

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

相关文章