【问题标题】:Using lapply to apply mean function over list of data frame使用 lapply 在数据框列表上应用均值函数
【发布时间】:2018-04-04 20:49:46
【问题描述】:

假设您有一个包含 n 个数据框的列表,对于这种情况,鸢尾花基具有两个变量 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

谢谢

【问题讨论】:

  • lapply(df, function(x) mean(x$Petal.Width))
  • 你也可以用df = split(iris[,4:5], cut(seq(1,nrow(iris)),15))来构造df
  • 爱德华·卡尼。谢谢是我一直在寻找的
  • @Edward-Carney 你能发帖回答吗?

标签: r


【解决方案1】:

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

lapply(df, function(x) mean(x$Petal.Width))

您还可以通过以下方式简化df 的构造:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-29
    相关资源
    最近更新 更多