我重新运行了大约两个月前以前没有错误的脚本。
我使用 Haven 包上传(非公开和专有SPSS dataset
的)和调查包来分析复杂的调查数据。
然而,现在,当我运行一个简单的逻辑回归时,其中两个变量都是虚拟变量(编码为 0 表示否,编码为 1 表示是)......像这样......
f <- read_sav("~/data.sav")
fsd <- svydesign(ids=~1, data=f, weights=~f$weight)
model <- svyglm(exclhlth~male,design=fsd,family=quasibinomial())
...我收到以下错误:
Error: Must subset elements with a valid subscript vector.
x Subscript has the wrong type `omit`.
ℹ It must be logical, numeric, or character.
Run `rlang::last_error()` to see where the error occurred.
> rlang::last_error()
<error/vctrs_error_subscript_type>
Must subset elements with a valid subscript vector.
x Subscript has the wrong type `omit`.
ℹ It must be logical, numeric, or character.
Backtrace:
1. survey::svyglm(exclhlth ~ male, design = fsd, family = quasibinomial())
2. survey:::svyglm.survey.design(...)
4. survey:::`[.survey.design2`(design, -nas, )
5. base::`[.data.frame`(x$variables, i, ..1, drop = FALSE)
7. vctrs:::`[.vctrs_vctr`(xj, i)
8. vctrs:::vec_index(x, i, ...)
9. vctrs::vec_slice(x, i)
Run `rlang::last_trace()` to see the full context.
我已经尝试在将男性设置为因素的情况下运行它,并且将两者都设置为因素。我得到同样的错误。
从两个月前开始,我已经更新了R
,Rstudio
以及避风港和调查包。所以,我猜有些事情发生了变化,但我不知道该怎么做。
SPSS
我从去年年底才开始过渡R
,所以我提前感谢您的任何指导,并为新手错误提前道歉!