作者anovachen (囧)
看板Statistics
标题[程式] [SAS] 计算标准误出现不一致的结果
时间Thu Apr 25 23:51:20 2013
[软体程式类别]:
SAS
[程式问题]:
用proc means stderr算standard error
和用proc glm中lsmeans /stderr求得的standard erro不相等。
[软体熟悉度]:
高(1年以上)
[问题叙述]:
一群病人存活时间的资料,
依照年龄分组,
跑ANOVA。
顺便要算各分组之间的standard deviation。
本来想用lsmeans /stderr算得的标准误乘上√(该组样本数)
但後来改用proc means算,同时确认stderr有没有一样,
却意外发现不相同。
[程式范例]:
proc sort data=brca; by age_group; run;
proc means data=brca n mean std stderr;
var time;
by age_group;
run;
proc glm data=brca;
class age_group;
model time=age_group;
lsmeans age_group/ stderr; run;
两者求得之标准误会不一样。为何会这样?
(ps.我知道存活时间的资料应该改用存活分析,
但这是某课程的题目,所以就暂且按照题目要求用ANOVA)
The SAS System
MEANS 程序
age_group=1
分析变数 : time Time (months)
N 平均值 标准差 标准误差
324 48.8735597 28.6992884 1.5944049
age_group=2
分析变数 : time Time (months)
N 平均值 标准差 标准误差
596 44.5850671 28.4323597 1.1646348
The SAS System
GLM 程序
最小平方平均值
age_group time LSMEAN 标准误差 Pr > |t|
1 48.8735597 1.5848091 <.0001
2 44.5850671 1.1684936 <.0001
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.67.123
话说...刚才发现多写这一行:
means age_group;
就能算standard deviation了XXD
这边算出的标准差倒是跟proc means算出来的一样。
※ 编辑: anovachen 来自: 140.116.67.123 (04/26 00:12)