【发布时间】:2020-09-24 11:27:06
【问题描述】:
只是根据之前提出的问题(Combining lapply, svyby, svyratio to calculate many ratios with confidence intervals)寻找一些建议
variables <- c( "Q_1" , "Q_2", "Q_3" )
lapply( variables , function( z ) svyby( as.formula( paste0( "~" , z ) ) , by = ~gender,
design = srs_design,
FUN = svytotal, na.rm = TRUE,
row.names = FALSE))
出于我的目的,我已经稍微调整了代码,但我想知道是否有办法创建第二个列表以在“by”语句中进行迭代?我尝试了以下方法,但得到了我不想要的交互。
lapply( variables , function( z ) svyby( as.formula( paste0( "~" , z ) ) , by = ~gender + age + location,
design = srs_design,
FUN = svytotal, na.rm = TRUE,
row.names = FALSE))
有没有办法遍历 'by' 语句和 'variable' 语句?
感谢您的帮助!
【问题讨论】:
-
你想传入两个参数而不是一个?也许定义一个带有输入
y和z的函数 - 您正在使用的函数只需要z...在您定义一个带有两个参数的函数时,您可以使用mapply( functionname , var1 , var2 ) -
你有什么办法可以告诉我那是什么样子的吗?我真的坚持这一点。感谢您的帮助。
-
变量
-
用
mapply函数是第一个参数,~y需要一个类似的as.formula( paste(