PROC genmod的正确重复声明

时间:2019-07-14 22:57:59

标签: sas

我认为这个问题与SAS语法有关的多于统计数据,并且与针对PROC genmod的正确重复声明有关

我正在尝试通过对数链接和具有可靠误差方差的调查数据来实现泊松回归。

这是我测试的非调查数据的有效代码,并且可以按预期工作:

proc genmod data = eyestudy;
 class carrot id;
 model lenses = carrot/ dist = poisson link = log;
 repeated subject = id/ type = unstr;
 estimate 'Beta' carrot 1 -1/ exp;
run;

上面的代码以及有关具有对数链接和稳健的误差方差但未经调查的数据的泊松回归的更多信息,请参见:https://stats.idre.ucla.edu/sas/faq/how-can-i-estimate-relative-risk-in-sas-using-proc-genmod-for-common-outcomes-in-cohort-studies/

下面是一个示例,该示例说明如何使用PROC genmod的代码进行调查分析(但使用dist=binomial link=identity,并且我认为没有强大的误差方差)

proc genmod data=nis10;
class seqnumt estiapt10;
model r_tet_not_utd = / dist=binomial link=identity;
weight provwt;
repeated subject=seqnumt(estiapt10);
where sex = 2;
run;

此处分层变量名称为estiapt10,簇变量名称为seqnumt,权重变量名称为provwt

上面的代码以及此处有关调查数据分析的更多信息:https://support.sas.com/resources/papers/proceedings13/272-2013.pdf

我的分层变量名称为CSTRATM,簇变量名称为CPSUM,权重变量名称为PATWT。因变量名称为DIETNUTR,自变量名称为age_group_var。我的数据位于sas_stata中。所以我尝试了这段代码:

proc genmod data=sas_stata;
class age_group_var id CPSUM CSTRATM;
model DIETNUTR = age_group_var/ dist = poisson link = log;
weight PATWT;
repeated subject = id/ type = unstr;
repeated subject = CPSUM(CSTRATM);
estimate 'Beta' age_group_var 1 -1/ exp;
run;

但这给了我警告:

WARNING: Only the last REPEATED statement is used.

据我了解,阅读上面的文章和其他材料后,我所做的一切都是正确的,除了没有正确的repeated陈述。对于带对数链接的Poisson回归以及调查数据具有可靠的误差方差,我认为上面的代码中应该有两个repeated语句的某种组合。我尝试了几种合并这些repeated语句的方法,但是没有任何运气。

所以我的问题是:具有对数链接且调查数据具有可靠误差方差的泊松回归的代码是什么?

1 个答案:

答案 0 :(得分:0)

我不太确定我了解CPSUM(CSTRATM)是什么。但是我假设您正在考虑使用交互式或嵌套效果作为主题。

假设x = CPSUM(CSTRATM),您可以将效果编码为:

repeated subject = id * x

有关编码效果的完整调查可以在以下位置找到

https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_genmod_sect038.htm

这可能也是有用的读物​​: https://support.sas.com/resources/papers/proceedings/proceedings/sugi29/188-29.pdf