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

R语言apply嵌套多函数:统计mtcars类数据集缺失值的简化写法

R语言统计数据集各列缺失值数量的简化实现

错误写法原因说明

你尝试的z <- apply(mtcars, 2, sum(is.na))语法不成立,核心原因是apply的第三个参数需要传入可对每一列切片执行的函数对象,而sum(is.na)是直接对is.na函数本身执行求和操作,完全没有绑定到数据集的列维度计算,运行会直接报错。

正确嵌套调用写法

你可以通过匿名函数包装两个函数的调用逻辑,实现单次apply完成计算,和你原来分两步执行的逻辑完全一致:

z <- apply(mtcars, 2, function(col) sum(is.na(col)))

更高效的原生简化方案

针对列维度的求和运算,R原生提供了更简洁高效的colSums函数,不需要调用apply就能直接实现需求,大数据集下性能优势更明显:

z <- colSums(is.na(mtcars))

扩展:纯函数组合写法

如果你偏好无匿名函数的组合式写法,可以加载purrr包用compose函数拼接两个调用逻辑:

library(purrr)
z <- apply(mtcars, 2, compose(sum, is.na))

内容的提问来源于stack exchange,提问作者Englishman Bob

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 01:24:04