我在我的数据上运行了一个posthoc Tukey HSD,它有十个因子级别 . 该表非常庞大,我希望在成对表中将p值呈现给读者,留下附录的45行表 .
这是一个示例数据集:
set.seed(42)
x <- rnorm(100,1,2)
category <- letters[1:10]
data <- cbind.data.frame(x, category)
summary(data.aov <- aov(x~category, data = data))
data.hsd<-TukeyHSD(data.aov)
data.hsd.result<-data.frame(data.hsd$category)
data.hsd.result
结果是一个45行的表 . 相反,我想要一个表格,其中因子级别为行和列名称,单元格中的p值显示两者是否显着不同 . Xs或下划线或任何可能代表重复或不必要的比较 . 像这样的东西:
a b c d e f ... j
a X 0.97 1 0.99 0.89 0.99 ... 0.99
b X X 0.99 0.89 0.94 0.92 ... 0.97
c X X X 0.85 0.93 0.96 ... 0.98
| ... ... ... ... ... ... ... ...
i X X X X X X ... 0.84
等等 .
有没有办法自动生成这样的表格?
1 回答
您希望上三角矩阵形式的p值 . 这对R来说有点不自然,因为它用列填充矩阵,但它很容易修复 . 首先检查您是否收到了正确的订单:
所以它只是:
使用函数将行和列名称添加到矩阵是相当简单的:
rownames<-
和colnames<-
. 有关工作示例,请参阅其共享帮助页面 .