Rのメモ -> glm関数:単変量で説明変数を次々に変えるやり方

用意したdata:
Cancer A B
0 1 0
1 1 1
0 1 0
(注:Cacerが0 or 1の値をとる目的変数、AとBが説明変数ってことで)

>R <- R起動
>hoge <- read.table("hogehoge",header=T)
>ff <- formula(paste("Cancer",paste(names(hoge[3]),sep(collapse?かも)="+"),sep="~"))
>ff


(Cancer ~ Bと表示されればOK)


>glm(ff,data=hoge,family=binomial(link=logit))

pasteとformulaを使うといけた。これ以外にもあるのかも知れないが見つけていない。
formulaのhelpは役に立ちそうだ。
「paste(names(hoge[3]),collapse="+"」のhoge[3]をhoge[x]にしておいて、全体をfor (x in 1:100){}で囲ってやるとがりがりやってくれた。一安心。明日ラボで本格的にテストだなー。幾つか計算付け加えてparser書けば、単変量はOKか。あー、良かった。
全ての説明変数でやりたい場合は
glm(Cancer~A+B,data=hoge,family=binomial(link=logit))
または
glm(Cancer~.,data=hoge,family=binomial(link=logit))
と「.」でもいいようだ。for使わなくても、こういう便利な書き方が単変量の為にあるんじゃないかなぁ‥?あったらちょっとショック(^^;