r - 在数据框列表中使用 lapply 和匿名函数
问题描述
在数据帧列表中listdf
,我想确定每个数据帧中浓度列的平均值、最大值、最小值、标准差和行数(值的数量):
mean <- lapply(listdf, function(x) {mean(x$Concentration, na.rm = F)})
max <- lapply(listdf, function(x) {max(x$Concentration, na.rm = F)})
min <- lapply(listdf, function(x) {min(x$Concentration, na.rm = F)})
sd <- lapply(listdf, function(x) {sd(x$Concentration, na.rm = F)})
nbr <- lapply(listdf, function(x) {nrow(x$Concentration, na.rm = F)})
但是,nrow
不使用lapply
和功能。我该如何修改它?
此外,是否可以添加(通过lapply
和一个函数或tibble
?)额外的第六个分析列表,listdf
以告知被拒绝的数据帧的数量listdf
是“NA”?我知道这一点是因为我在listdf
所有数据框中都选择了没有拒绝值,但我希望在脚本中添加此步骤以进行进一步分析。
nbr_rejected <- lapply(listdf, ??? "NA")
(nbr_rejected="NA")
解决方案
您可以使用length
:
a <- list(mtcars, mtcars)
lapply(a, function(x) {length(x$hp[!is.na(x$hp)])})
编辑 你的第二个问题:
a <- list(mtcars, mtcars)
lapply(a, function(x) {data.frame(value = matrix(NA, nrow(x), 1))})
推荐阅读
- flutter - Errors when added image_picker dependency for flutter (iOS)
- json - 将数据库从 MongoDb atlas 导出到本地机器 Monogo compass
- swift - 在 Swift 中获取导航栏项目按钮的位置
- c# - C# Dns.GetHostEntry() - 异常:没有这样的主机是已知的
- c# - 更好的方法来多次测试包含字符串的内容
- reactjs - React Redux:来自 src/components 的数据未在 localhost 上更新
- bash - 将 cURL -w 变量保存到 bash 变量中
- pandas - Is there a way to save large panda data in multiple (parquet/csv) files as Pyspark does?
- c++ - C++ 数组输入不接受一定数量的整数
- excel - 如何使用 VBA 在工作表中创建 MSForms 列表框?