为什么 R 对象的值在 R 的 cbind 输出中出现两次?

Why a value for an R object appears twice in a cbind output in R?

我想知道如何防止下面 R 代码中对象 eta 的数值在 cbind() 输出的第二行中重复(就像现在一样)其中一个 NA 被插入到第二行?

这是我当前的 cbind 输出:

          Df   Sum Sq   Mean Sq F value     Pr(>F)       eta
k          2 8.688793 4.3443964 5.47955 0.02038724 0.4773314
Residuals 12 9.514058 0.7928382      NA         NA 0.4773314(This one is repetitive! I want `NA` here)

这是我的 R 代码:

k = gl(3, 5, 15)
y = as.vector(unlist(mapply(FUN = rnorm, n = rep(5, 3), mean = c(4, 5, 6))))
a = anova(aov(y ~ k))
eta = a[, 2][1] / (a[, 2][1] + a[, 2][2])
cbind(a, eta)

很确定 eta 值正在被回收。你可以试试 cbind(a, eta = c(eta, NA))避免回收。