【发布时间】:2021-03-16 06:01:06
【问题描述】:
我想更改作为公式一部分的变量(代表数据框列),以循环该公式。我现在要插入一个 var 很重要,因为我想稍后使用这个变量,然后才将其更改为另一个(所以,我猜“lapply”与变量列表不会是解决方案?)
svychisq(~var1 + strata, svy_design)
我需要在循环/函数中更改此 var1(列名)
【问题讨论】:
我想更改作为公式一部分的变量(代表数据框列),以循环该公式。我现在要插入一个 var 很重要,因为我想稍后使用这个变量,然后才将其更改为另一个(所以,我猜“lapply”与变量列表不会是解决方案?)
svychisq(~var1 + strata, svy_design)
我需要在循环/函数中更改此 var1(列名)
【问题讨论】:
获取向量中的所有变量并使用sprintf/paste0创建公式对象。
library(survey)
cols <- c('var1', 'var2')
#If you want all the variables that have 'var' in it.
#cols <- grep('var', names(df), value = TRUE)
result <- lapply(cols, function(x) {
svychisq(as.formula(sprintf('~%s + strata', x)), svy_design)
})
【讨论】: