一段代码获取两个或多个变量的比例

Getting proportion of two or more variables with one code

我正在分析一个复杂的调查数据。我想计算一下农村男性和城市男性的吸烟比例和饮酒量。我使用了如下单独的代码。 urban_rural 和 alcohol 使用一个代码是否可以得到相同的结果?

svyciprop(~smoking, subset(svs1, urban_rural =='rural'), method = "likelihood")
svyciprop(~smoking, subset(svs1, urban_rural =='urban'), method = "likelihood")
svyciprop(~smoking, subset(svs1, alcohol =='yes'), method = "likelihood")
svyciprop(~smoking, subset(svs1, alcohol =='no'), method = "likelihood")

在某种程度上,是的,您可以使用 svyby 来获取每个变量类别的答案

svyby(~smoking, ~urban_rural, design=svs1, svyciprop, method="likelihood", vartype="ci")
svyby(~smoking, ~alcohol, design=svs1, svyciprop, method="likelihood", vartype="ci")

如果没有某种显式循环或映射函数,则无法对变量列表执行此操作。