glm() 関数を使用して適切にフォーマットされた回帰結果を取得し、テーブル (myTable) を作成することができます。
> myTable <- cbind("Estimate" = coef(FulMod), "Std. Error" = summary(FulMod)$coefficients[,2], ,"p value" = summary(FulMod)$coefficients[,4],"OR" = FulMod.coef,"CI"=exp(confint(FulMod)))
> round(myTable,3)
Estimate Std. Error p value OR 2.5 % 97.5 %
(Intercept) -8.393 1.727 0.000 0.000 0.000 0.006
var1 0.064 0.018 0.000 1.066 1.031 1.105
as.factor(var2) 0.044 0.015 0.003 1.045 1.016 1.078
relevel(var3,ref=1)2 0.004 0.002 0.028 1.004 1.000 1.008
私の質問は次のとおりです。最初の列に表示される変数名を自動的に再ラベル付けするにはどうすればよいですか? これまで、rownames() 関数を使用してきました。
rownames(myTable)<-c("(Intercept","My Var 1","My Var 2"...
ただし、それは実際には柔軟ではありません。回帰モデルを更新するとしましょう。rownames() 関数のパラメーターを手動で変更する必要があります。「「var1」を「My Var 1」に置き換える」などの検索と置換のソリューションを希望します。
myTable の構造を調べたところ、Web を検索しているときに gsub() 関数が見つかりました。
> str(myTable)
num [1:6, 1:6] -8.3933 0.06363 0.04442 0.00415 3.1484 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:6] "(Intercept)" "var1" ...
..$ : chr [1:6] "Estimate" "Std. Error" "p value" "OR" ...
gsub("var1", "My Var 1", myTable) を試しましたが、テーブルが台無しになりました。
何か案は?