を評価しない。mydf <- data.frame(college=c(1,2,1,0,3))
機能によりID10Tエラーを簡単にするため
> str(mydf)
'data.frame': 5 obs. of 1 variable:
$ college: num 1 2 1 0 3
私が最初の因数分解によって順序ロジスティック回帰をconducteように設定繰り返さコード要素の束を有し、以下のような基準レベルを設定します:
> mydf$college <- factor(mydf$college)
> relevel(mydf$college, ref="2")
[1] 1 2 1 0 3
Levels: 2 0 1 3
> str(mydf$college)
Factor w/ 4 levels "0","1","2","3": 2 3 2 1 4
私はので、私はそれを呼び出すと、より良いプログラミング作法を持っている可能性があり、これを行うための関数を書いた:
factor_level <- function(ds, var, referent){
ds[[var]] <- factor(ds[[var]])
ds[[var]] <- relevel(ds[[var]], ref=referent)
}
しかし、関数を呼び出すとエラーは発生しませんが、因数分解された結果も得られません。
> factor_level(ds = mydf, var="college", referent= "2")
> str(mydf$college)
num [1:5] 1 2 1 0 3
私はそれが構文だと確信していますが、私はその理由を理解できませんでした。前もって感謝します。
物事を行うことができ、データフレーム内の複数のベクトルにこのように適用し、正しくあなたのコメントに質問を理解していればあなたがしてはいけない特別なもの)。あなたの関数は変更された因子 'ds'を返す必要があり、あなたが関数を呼び出すときに結果を代入します。 – joran