我碰到了墙,相信我错过了一些非常简单的东西。
我有一个列表,其中包含多个wilcoxon测试的结果(使用Bonferroni更正),并希望使用multcomp
生成一个类似于Dunnett测试输出的表(即没有显示行号)向上和间隔很好。)
当我将其作为数据框打印时,行号显示出来,列中的文本值右对齐。
列表由以下人员创建:
for (i in 2:length(split.set)) { wrs.mod <- suppressWarnings(wilcox.test(split.set[[1]]$VALUE, split.set[[i]]$VALUE)) stn.results[i - 1] <- as.character(unique(split.set[[i]]$TREATMENT)) stat.results[i - 1] <- as.numeric(wrs.mod$statistic) p.results[i - 1] <- signif(wrs.mod$p.value, 3) if (wrs.mod$p.value < 0.05/(length(split.set) - 1)) sig.results[i - 1] <- "*" else sig.results[i - 1] <- NA } wrs.results <- list(Treatment = stn.results, Statistic = stat.results, p = p.results, Significant = sig.results)
如何将其格式化为一个看起来不错的打印表?
答案 0 :(得分:3)
不要将其格式化为list
,而是将其格式化为data.frame
并打印出来:
wrs.results <- data.frame(Treatment = stn.results, Statistic = stat.results, Pvalue = p.results, Significant = sig.results)
print(wrs.results)
您可以通过多种方式自定义数据框的结构(以及外观)。您可能更喜欢将处理视为行名称:
wrs.results <- data.frame(row.names = stn.results, Statistic = stat.results, Pvalue = p.results, Significant = sig.results)
或自定义列名称:
colnames(wrs.results) = c("Treatment", "Statistic", "P(>|t|)", "Significance")