Маркировка переменных в результатах регрессии (воспроизводимые исследования)

Я добился того, чтобы получить правильно отформатированные результаты регрессии, используя функцию 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(). Я бы предпочел решение для поиска и замены, например, "заменить" var 1"на" 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), но это испортило таблицу.

Есть идеи?

0 ответов

Другие вопросы по тегам