如何在 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