これに関するどんな助けも本当にありがたいです。Lumleyサーベイパッケージを使用していて、コードを単純化しようとしていますが、わずかな問題が発生しています。
パッケージのsvymean関数は、私のコードでは次のように呼び出されます。最初の引数は必要な変数を示す式で、2番目の引数はそのデータセットです。
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))
}
これは機能するので、たとえば、最初のカテゴリの平均とseを引き出すときは、次を使用します。
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
またはそのようなもの。問題は、変数名を使用して数式を関数に渡す方法がわからないことです。