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

如何对dataframe内全部数据整体进行正态分布检验?

R语言全dataframe数据合并执行shapiro正态性检验方案

你可以将整个dataframe的所有数值拉平为一维向量后传入检验函数,以下是可直接运行的实现:

  • 基础实现(无缺失值场景)
    使用unlist()函数直接将dataframe转换为单向量,自动合并所有列的所有行数据:
# 拉平数据框为一维向量,use.names参数设为FALSE可去掉默认生成的元素列名标识
all_sample <- unlist(data1, use.names = FALSE)
# 执行正态性检验
result <- shapiro.test(all_sample)
# 输出检验结果
print(result)
  • 含缺失值场景实现
    如果数据中存在NA值,可先做缺失值剔除再检验:
all_sample_clean <- na.omit(unlist(data1, use.names = FALSE))
result <- shapiro.test(all_sample_clean)

注意:R原生shapiro.test仅支持样本量在3~5000区间的检验,如果合并后的总数据量超过5000会触发报错,该场景下建议改用适配大样本的正态性检验方法,比如Kolmogorov-Smirnov检验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 06:39:01