You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用lapply计算iris拆分的数据框列表中Petal.Width列的均值?

计算数据框列表中指定列的平均值

嘿,我来帮你搞定这个问题!针对你把iris按每10行拆分后得到的数据框列表,用lapply或者sapply就能轻松算出每个子数据框里Petal.Width的平均值,完全符合你的需求~

第一步:生成目标数据框列表

首先先确认如何生成你提到的拆分后的列表(方便后续验证结果):

# 提取iris的Petal.Width和Species列,再按每10行拆分
df_list <- split(iris[, c("Petal.Width", "Species")], 
                 ceiling(seq(nrow(iris))/10))

这样得到的df_list就是包含15个数据框的列表,和你描述的df = list(df1, df2,...,df15)完全一致。

第二步:用lapply计算平均值(返回列表)

lapply会遍历列表中的每个数据框,执行自定义的计算函数,返回结果列表:

# 遍历列表,计算每个数据框的Petal.Width平均值
petal_width_means <- lapply(df_list, function(x) mean(x$Petal.Width))

# 查看前两个结果,和你预期的一致
petal_width_means[[1]] # [1] 0.22
petal_width_means[[2]] # [1] 0.25

第三步:用sapply简化结果(返回向量)

如果你想要更简洁的向量形式结果,用sapply就可以自动把列表结果简化为向量:

# 直接得到向量格式的平均值
petal_width_means_vec <- sapply(df_list, function(x) mean(x$Petal.Width))

# 查看结果
petal_width_means_vec

输出会是一个长度为15的向量,每个元素对应一个子数据框的Petal.Width平均值。

内容的提问来源于stack exchange,提问作者Rafael Díaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:52:30