2017-06-15 29 views
1

我想在我的逻辑回归模型中使用函数surveyglm包含自变量。R - 使用小滴后surveyglm中的错误消息

它不断给我的错误代码

“错误在contrasts < - (*tmp*,值= contr.funs [1 + ISOF [NN]]): 对比只能应用于因素与2级或更多级“。

的代码是:

finaldes<-svydesign(id=~CPSUM, strata=~CSTRATM, weights=~PATWT, nest=TRUE,data=newpts) 

(log<-svyglm(formula=offlabel ~ AGER + siteofcare + MSA, design=finaldes)) 

summary(log) 

,这是给我找麻烦的变量是siteofcare。当我检查层数时,我得到2作为输出,所以我不明白为什么这不起作用。

> levels(newpts$siteofcare) 
[1] "Outpt" "Hosp" 
> nlevels(newpts$siteofcare) 
[1] 2 
+0

'X =因子(1,水平= 0:1)'有两个水平,但会抛出一个错误。嗯你在哪里使用液滴? – user20650

+0

我在创建变量并将其添加到我的数据集时使用了它。 newpts $ siteofcare <-droplevels(siteofcare),其中siteofcare是原来的额外级别。 – AVR

+1

好吧,你的数据是否有任何缺失的行。如果是这样,那么也许在建模中因为这个原因被删除的行只会留下那个变量的一个级别。什么'table(finaldes $ variables $ siteofcare)'给 – user20650

回答

0

要挟列的所有四个在svyglm调用中使用svydesign语句之前因素,在data.frame newpts类型