我试图弄清楚如何动态地对调查设计对象进行子集化。我已经构建了循环以发送字符串,并且不知道如何删除引号,因此 R 将其读取为调用。
我想遍历一些这样的(尽管这显然会中断,因为 SUBSET_VARIABLE %in% 4 需要是一个调用而不是一个字符串。:
design <- svydesign( ~1 , weight = ~wt , data = mtcars )
for( SUBSET_VARIABLE in c("gear","carb") ){
design <- subset( design , SUBSET_VARIABLE %in% 4 )
a <- svymean(~mpg, design)
}
如果可能的话,我想避免在粘贴函数中定义语句,而不是使用eval( parse ( text = statement ) ) )
来执行它。另外,我想避免使用索引,因为我知道survey.design
对象的子集方法执行其他任务(请参阅:)getS3method("subset", "survey.design")
,并希望确保动态运行子集完全等同于在循环外使用子集函数。感谢您的任何帮助,您可以提供
马修