全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13680 13
2013-10-26
悬赏 100 个论坛币 未解决
有一数据集,包含以下变量,因为男女、城乡、年份等年龄组成不一样,进行TC的均数比较时需要用年龄进行调节,使用GLM过程,用年龄age作为协变量计算lsmean。

[td]
#变量类型长度输出格式标签
1sex数值81.性别1=男2=女
2age数值8 年龄(岁)
3tc数值85.2TC
4yrs字符4 年份
5district字符4$4.城乡
6id数值8 ID号



为了进行年份间、城乡间、男女间进行比较,分别运行以下3个glm过程。




复制代码
分别得出结果,按道理,同样是用age年龄进行调节,最终结果应该是一样的,比如,2001年城市男性的调节均数(TC的lsmean)在表1、表2、表3中应该是一样的,但实际不同,为什么?


表1结果:城乡=城市 性别1=男2=女=1


[td]
yrstc LSMEAN标准误差Pr > |t|
20014.704213650.05855886<.0001




表2结果:年份=2001 性别1=男2=女=1


[td]
districttc LSMEAN标准误差Pr > |t|
城市4.635279570.03999276<.0001

表3结果:年份=2001 城乡=城市


[td]
sextc LSMEAN标准误差Pr > |t|
14.637513810.04075315<.0001




程序及数据集请下载附件,谢谢。



GLM_test.rar
大小:(27.93 KB)

 马上下载

本附件包括:

  • ddd.sas
  • all.sas7bdat














二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-10-26 19:14:20
1. 你的by语句起了分割数据集的作用,by里的变量每次只有一个取值,相当于分层分析了。起不到类似于多元校正的作用。

2. 3个LSMEANS分别估计的是各年,城乡,男女的 最小二乘均值。也不可能相同。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-26 22:31:17
webgu 发表于 2013-10-26 19:14
1. 你的by语句起了分割数据集的作用,by里的变量每次只有一个取值,相当于分层分析了。起不到类似于多元校正 ...
我明白by语句起了分割数据集的作用,但如果输出如下的表,并且要男女比较、城乡比较、年份间比较,要做成以下的lsmean,怎么计算?怎样校正?谢谢。

  
  

男性



女性






TC



TC



城市









2001









2003









2004









2012









农村









2001









2003









2004









2012








要较:男女、城乡、年份


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-27 09:06:46
其实1楼的3个程序都可以输出以上结果就是比较不同而已,但是问题出现结果不一样。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-27 10:36:34
我的建议是:

lsmeans  district*yrs*sex;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-10-27 11:45:55
webgu 发表于 2013-10-27 10:36
我的建议是:

lsmeans  district*yrs*sex;
但是不能输出3楼的表格啊,这才是问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群