我试图让pairwise.t.test
返回t值和p值。问题How to get df and t-values from pairwise.t.test?的答案修改了pairwise.t.test的代码以获得p值,t值和自由度,但是通过对t检验进行3次调用来获取它们而不是存储3个值,这正是我想要做的。
我修改了pairwise.t.test,所以compare.levels函数现在返回一个列表,例如:
compare.levels <- function(i, j) {
output <- list()
xi <- x[as.integer(g) == i]
xj <- x[as.integer(g) == j]
out <- t.test(xi, xj, paired = paired, alternative = alternative,
...)
output$t.value <- out$statistic
output$p.value <- out$p.value
output$df <- out$parameter
return(output)
}
但是使用pairwise.table中的以下代码调用compare.levels:
pp <- outer(ix[-1L], ix[-length(ix)],
function(ivec, jvec)
sapply(seq_along(ivec),
function(k) {
i <- ivec[k]
j <- jvec[k]
if (i > j)
compare.levels(i, j)
else
NA
}))
如果我用as.list(c(NA,NA,NA))
替换NA,则会出现以下错误:
Error in dim(robj) <- c(dX, dY) :
dims [product 121] do not match the length of object [363]
我理解为什么我收到错误但我不明白如何修改有问题的行来修复它。有什么指针吗?