我实现了使用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'替换为'我的Var 1'”。
我检查了myTable的结构,并在搜索网页时找到了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”,“我的Var 1”,myTable),但这搞砸了桌子。
有什么想法吗?