Вы можете прислушаться к очень разумному совету @Joris Meys.(На самом деле, я предлагаю вам это сделать.) Или вы можете использовать хитрый маленький обходной путь с небольшим количеством regex
и capture.output
:
# Set up data and fit model
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
fit <- lm(weight ~ group)
Теперь для манипуляции:
- захватите результаты
summary.lm
, используя capture.output
- , используйте
gsub
, чтобы заменить каждое вхождение ваших факторных уровней
Код:
# Capture output
sfit <- capture.output(print(summary(fit)))
gsub("groupTrt", "Trt ", sfit)
Результаты:
[1] ""
[2] "Call:"
[3] "lm(formula = weight ~ group)"
[4] ""
[5] "Residuals:"
[6] " Min 1Q Median 3Q Max "
[7] "-1.0710 -0.4938 0.0685 0.2462 1.3690 "
[8] ""
[9] "Coefficients:"
[10] " Estimate Std. Error t value Pr(>|t|) "
[11] "(Intercept) 5.0320 0.2202 22.850 9.55e-15 ***"
[12] "Trt -0.3710 0.3114 -1.191 0.249 "
[13] "---"
[14] "Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 "
[15] ""
[16] "Residual standard error: 0.6964 on 18 degrees of freedom"
[17] "Multiple R-squared: 0.07308,\tAdjusted R-squared: 0.02158 "
[18] "F-statistic: 1.419 on 1 and 18 DF, p-value: 0.249 "
[19] ""