R 用lappy在数据帧列表上应用均值函数

R 用lappy在数据帧列表上应用均值函数,r,R,假设您有一个n个数据帧的列表,对于这个例子,iris base有两个变量Petal.Width和Species,我想使用apply或lapply来计算Petal.Width列的平均值 df1 = iris[1:10,4:5] df2 = iris[11:20,4:5] ... df15 = iris[141:150,4,5] df = list(df1,df2,...,df15) 如果我只有2个数据帧,我希望结果如下 df = list(df1,df2) df = list(df1,df2)

假设您有一个n个数据帧的列表,对于这个例子,iris base有两个变量Petal.Width和Species,我想使用apply或lapply来计算Petal.Width列的平均值

df1 = iris[1:10,4:5]
df2 = iris[11:20,4:5]
...
df15 = iris[141:150,4,5]
df = list(df1,df2,...,df15)
如果我只有2个数据帧,我希望结果如下

df = list(df1,df2)
df = list(df1,df2)
mean(df[[1]]$Petal.Width);mean(df[[2]]$Petal.Width)
[1] 0.22
[1] 0.25

谢谢

在lappy调用中定义所需的函数,如下所示:

lapply(df, function(x) mean(x$Petal.Width))
您还可以通过以下方式简化df的构造:

df = split(iris[,4:5], cut(seq(1,nrow(iris)),15))

lapplydf,functionx meanx$Petal.width您还可以使用df=splitiris[,4:5],cutseq1,nrowiris,15Edward Carney构建df。谢谢,这是我一直在找的for@Edward-卡尼:你能把答案贴出来吗?