如何从SAS导出含p值与样本量n的Spearman相关分析表至Excel?
问题描述
尝试从SAS中导出Spearman相关分析的结果表格,但导出的文件仅包含相关系数r,缺少每个变量对应的p值和样本量n。想请教在SAS操作中是否遗漏了相关设置?
当前使用的SAS代码:
proc corr data=one Spearman OUTS=spear_corr1; var v1 v2 v3 v4 v5 v6 v7 v8 v9; ODS OUTPUT SpearmanCorr = SPEAR_CORR11; RUN;
解决方案
默认的SpearmanCorr ODS输出对象仅存储相关系数,要获取p值和样本量,需要指定对应的ODS输出表,同时可通过参数优化输出内容:
- 新增两个关键的ODS输出对象:
SpearmanPValues:存储两两变量的相关检验p值SpearmanN:存储两两变量的有效样本量
- 可选添加
nosimple(关闭冗余的基本描述统计)和stats=all(输出全部统计量)参数精简输出
修改后的完整代码:
proc corr data=one Spearman nosimple stats=all; var v1 v2 v3 v4 v5 v6 v7 v8 v9; ODS OUTPUT SpearmanCorr = SPEAR_CORR11 /* 存储相关系数 */ SpearmanPValues = SPEAR_PVAL /* 存储p值 */ SpearmanN = SPEAR_N; /* 存储样本量 */ RUN;
如果需要将系数、p值、样本量合并到同一个数据集,可使用proc sql完成关联:
proc sql; create table spearman_complete as select a.RowVar, a.ColVar, a.SpearmanCorr, b.SpearmanPValue, c.SpearmanN from SPEAR_CORR11 a inner join SPEAR_PVAL b on a.RowVar = b.RowVar and a.ColVar = b.ColVar inner join SPEAR_N c on a.RowVar = c.RowVar and a.ColVar = c.ColVar; quit;
注意:OUTS=选项生成的spear_corr1数据集仅包含相关系数,无法获取p值和样本量,需依赖上述ODS输出表。
内容的提问来源于stack exchange,提问作者Evan
相关产品推荐
相关产品推荐

