在R的{summary(aov)`的输出中添加一列?

时间:2018-05-16 07:24:15

标签: r dataframe anova

我想知道是否可以在summary(aov)给出的输出中添加标题列?

例如,在以下summary(aov)之后,我们可以添加标题为aa的列:

aa = c(4.391098, 12.105541,  0.537330,  6.088639,  1.361073)

# add `aa` above to the right-most column of summary output below:

fit <- summary(aov(yield ~ block + N * P + K, data = npk))

我尝试了以下但没有成功:

fit[[2]] <- aa

2 个答案:

答案 0 :(得分:2)

我们可以使用cbind更新提取的list元素

fit[[1]] <- cbind(fit[[1]],aa = c(aa, NA)) 

但是,这会删除anova类,它将是data.frame

答案 1 :(得分:1)

如果要使用重要星标打印,则无法将新列添加为最后一列。最后一列必须是p值:

aa = c(4.391098, 12.105541,  0.537330,  6.088639,  1.361073)

# add `aa` above to the right-most column of summary output below:

fit <- summary(aov(yield ~ block + N * P + K, data = npk))

fit[[1]]$aa <- c(aa, NA) 
fit[[1]] <- fit[[1]][c(1, 2, 3, 6, 4, 5)]

fit
#            Df Sum Sq Mean Sq     aa F value  Pr(>F)   
#block        5  343.3   68.66  4.391   4.391 0.01295 * 
#N            1  189.3  189.28 12.106  12.106 0.00368 **
#P            1    8.4    8.40  0.537   0.537 0.47564   
#K            1   95.2   95.20  6.089   6.089 0.02711 * 
#N:P          1   21.3   21.28  1.361   1.361 0.26284   
#Residuals   14  218.9   15.64                          
#---
#Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1