1

我使用 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 的结构,并在搜索网络时发现了 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) 但这把桌子弄乱了。

有任何想法吗?

4

0 回答 0