任何关于这个的帮助都将不胜感激。我正在使用Lumley survey包并尝试简化我的代码,但遇到了一些小问题。
在我的代码中,从该包中调用svymean函数,第一个参数是指定我想要的变量的公式,第二个参数是数据集。
在我的代码中,从该包中调用svymean函数,第一个参数是指定我想要的变量的公式,第二个参数是数据集。
svymean(~hq_ehla, FraSvy, na.rm=TRUE)
我正在尝试创建一个函数,该函数将提取分类变量的均值(比例)和标准误差,因此我创建了以下函数:
stats <- function(repstat, num) {
estmean <- as.numeric(round(100 * repstat[num], digits=0))
estse <- round(100 * sqrt(attributes(repstat)$var[num,num]), digits=1)
return(list(mean=estmean, se=estse))
}
这个方法有效,当我要提取出第一个分类的平均值和标准误时,我使用以下代码:
stats(svymean(~hq_ehla, FraSvy, na.rm=TRUE), 1)$mean
stats(svymean(~hq_ehla, FraSvy, na.rm=TRUE), 1)$se
我希望能够将这个更简单,只需要写下面这些内容:
stats(FraSvy, "hq_ehla", 1)$mean
或类似的东西。问题是我不知道如何使用变量名将公式传递给函数。