私は大規模なデータセットの統計を行うためのWebインターフェイスを作成しています。ウィジェットを使用すると、変数とグループを選択できます。各変数は、実行可能な一種の統計に関連付けられています。 Webページは適切なデータフレームを設定して「集約」に渡し、次にさまざまな出力に渡すRスクリプトを呼び出します。ここのデータは関係ないので、私はそれを含めていません。変数の置換と貼り付けによる集約への引数の割り当て
私の問題は、私は理解できない理由のために出て爆撃された「集約」への柔軟な入力である:stvarは=「意味」場合、これは正常に動作
group variable “grp”
str(grp)
'data.frame': 1573 obs. of 1 variable:
$ Loc: Factor w/ 4 levels "ED","ICU","Trans",..: 1 1 1 1 1 1 1 1 1 4 ...
Time variable
TimeBase <- “year”
data
str(tmp)
'data.frame': 554 obs. of 4 variables:
$ Loc : Factor w/ 4 levels "ED","ICU","Trans",..: 4 1 1 1 4 4 1 1 4 4 ...
$ year : Factor w/ 7 levels "2011","2012",..: 1 1 1 1 1 1 1 1 1 1 ...
$ ActivLag: num 3 -2 0 1 17 210 19 -7 0 107 ...
$ ScanLag : num 80 12 5 8 159 255 28 109 11 111 ...
aggregate(formula(paste0(". ~", names(grp), " + ", TimeBase)), data = tmp, paste0(stvar), na.rm = TRUE, na.action = na.pass)
が、stvar =「合計場合"は引数としてna.rmを取らず、動作しません。だから、私は次のことを試してみました:
仕事とfollwoingエラーを与えていないstatstrg <- ifelse(stvar %in% c("sum", "prop","frel", "median"), " na.action = na.pass", " na.rm = TRUE, na.action = na.pass")
aggregate(formula(paste0(". ~", names(grp), " + ", TimeBase)), data = tmp, paste0(stvar), paste0(statstrg))
:
Error in if (na.rm) x <- x[!is.na(x)] else if (any(is.na(x))) return(x[FALSE][NA]) :
argument is not interpretable as logical
aggregate(formula(paste0(". ~", names(grp), " + ", TimeBase)), data = tmp, paste0(stvar), na.action = na.pass)
がstvar =「合計」のために仕事をしていても。
引数を解析する集計に必要なコンマを処理する方法がないため、na.rmとna.action = na.passのそれぞれに条件付き文字列の割り当てと貼り付け(var)を使用することはできません。私はpaste()の引数のさまざまな組み合わせを渡そうとしましたが、集約は個々の引数を見たいと思っています。だから、誰かが私の方が良い方法を教えてくれる?どうも。
関数 'sum()'もこの 'na.rm = T/F'引数をとります。bdw –