【问题标题】:Proper repeat statement for PROC genmodPROC genmod 的正确重复语句
【发布时间】:2019-11-23 16:26:19
【问题描述】:

我认为这个问题与 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 声明之外,我做的一切都是正确的。对于具有日志链接和调查数据稳健误差方差的泊松回归,我假设上面的代码中应该有两个repeated 语句的组合。我尝试了几种组合这些 repeated 语句的变体,但没有任何运气。

所以我的问题是:泊松回归的代码是什么,带有日志链接和调查数据的稳健误差方差?

【问题讨论】:

    标签: sas


    【解决方案1】:

    我不太确定我是否理解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

    【讨论】:

    • 使用pastebin.com/YcK07PpR 时出现错误:pastebin.com/uaXDVMSCCPSUM(CSTRATM) CPSUM 是分类变量,CSTRATM 是分层变量。我从这篇论文中得到了这个组合:support.sas.com/resources/papers/proceedings13/272-2013.pdf 来自第 5 页(它们使用相同的组合但不同的变量名称 seqnumt(estiapt10)repeated 语句),在第 2 页上你可以看到 estiapt10 是分层变量和 @ 987654335@ 是簇变量。
    • 道歉 - 我误读了您的意见并做出了间接回应。删除原始评论以避免混淆。 CPSUM(CSTRATM) 实际上是一个嵌套效果。你可以试试repeated subject = id * CPSUM(CSTRATM)。但是请尝试了解我在上面发布的链接中的不同效果,并确保这确实是您想要的 - 只有您才能判断它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多