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

R语言执行Shapiro-Wilk检验未指定列时操作是否正确?

问题判定

你直接传入整个数据集调用shapiro.test()的操作是错误的,得到的检验结果无效。
shapiro.test()的入参要求是一维数值向量,你传入的是包含日期列、收益率列的二维数据框,R会自动对输入对象做隐式类型强转,把日期列也纳入计算流程,最终输出的W统计量和p值根本不是针对日收盘收益率序列的检验结果。

正确操作方法
  1. 先运行以下命令查看数据集的列名和各列数据类型,确认日收盘收益率列的准确列名:
    str(rdailypriceUSA500)
    
  2. 用$运算符单独提取收益率列传入检验函数,示例代码如下(把代码里的return_col替换成你自己数据集里实际的收益率列名即可):
    shapiro.test(rdailypriceUSA500$return_col)
    
注意事项
  • Shapiro-Wilk正态检验仅适用于数值型变量,日期属于时间类数据,传入检验没有实际统计意义
  • 不要直接对多列数据框调用该函数,否则会触发隐式类型转换,输出无意义的计算结果
  • 你之前得到的W = 0.85676, p-value < 2.2e-16结果不具备参考价值,传入正确列后重新计算的结果才可信。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:09:18