首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将svychisq与子集一起使用--错误“'symbol‘类型的对象不可子集”

将svychisq与子集一起使用--错误“'symbol‘类型的对象不可子集”
EN

Stack Overflow用户
提问于 2021-04-25 08:00:49
回答 1查看 105关注 0票数 0

我试图在数据集中找到序数变量(具有4个水平) y_4的流行率差异的调整卡方p值,作为调查设计svydes,使用三值分类变量x_3的子集从数据集ds中进行。我对具有x_3 == 1的受试者子集中不同水平的y_4流行率的p值很感兴趣。

代码语言:javascript
复制
library(survey)
y_4 = sample(0:3,100, TRUE)
x_3 = sample(1:3, 100, TRUE)
finalwt = runif(n = 100,min = 0, max = 1)
ds = as.data.frame(cbind(y_4,x_3,finalwt))
svydes = svydesign(ids = ~0, weights = ~finalwt, data = ds)
x1 = subset(svydes,x_3 == 1)
svychisq(~y_4 , x1, statistic ="F",na.rm = TRUE)

我得到以下错误:“formula[2][2]中的错误:'symbol‘类型的对象不可子集”。有没有人知道发生了什么或者如何修复它?

同样,尝试使用survey包执行一些类似操作时,以下代码也会显示相同的错误:

代码语言:javascript
复制
summary(svytable(~y_4,x1),statistic = "F")

我试着做一个可重复的例子,但是我的实际调查样本有簇和层,所以我不确定如何在我的例子中重现它。欢迎提出建议!实际的测量设计代码如下所示:

代码语言:javascript
复制
svydes= svydesign(id =~`_PSU`,strata =~ `_STSTR`, weights =~finalwt, data = ds, nest = TRUE )
EN

回答 1

Stack Overflow用户

发布于 2021-04-29 11:59:42

svychisq的帮助页面显示

目前,svychisq只适用于二维表格。

如果它确实适用于单向表(它不能),那么您所使用的语法就是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67248516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档