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