我需要在r中对数据集中的几个组合进行统计测试。最终结果需要发布,我不能有很多表。 我的工作流程现在看起来像这样:我使用pairwise.t.test函数计算t.tests,然后将结果写入csv表,并在LO calc中将以后的几个csv表组合起来(或者如果你想要的话,结合到xls文件中) )。
ttestC30.class<- pairwise.t.test(LD$C30,LD$class)
write.table(ttestC30.class$p.value, 'ttestC30.class.csv')
ttestC100.class<- pairwise.t.test(LD$C100,LD$class)
write.table(ttestC100.class$p.value, 'ttestC100.class.csv')
ttestN30.class<- pairwise.t.test(LD$N30,LD$class)
write.table(ttestN30.class$p.value, 'ttestN30.class.csv')
每个表都给出了这样的输出:
class1 class2 class3
class1 C30
class2 C30 C30
class3 C30 C30 C30
最后,我想将其导出到我的文本文档中,格式如下:
class1 class2 class3
class1 C30 / C100 / N30
class2 C30 / C100 / ... … / … / ...
class3 C30 / C100 / ... 0.608 / 0.057 / 0.632 0.165 / 0.667 / 0.002
必须有一种更方便的方法来做到这一点,不是吗? 比使用pairwise.t.test更通用的解决方案也很棒,然后我可以重复与其他测试相同的解决方案。
修改:可重复的示例
attach(airquality)
a<- pairwise.t.test(Ozone, Month)
b<- pairwise.t.test(Temp, Month)
这是例如
的输出round(a$p.value,3)
May Jun Jul Aug
Jun 1 NA NA NA
Jul 0 0.051 NA NA
Aug 0 0.050 1.000 NA
Sep 1 1.000 0.005 0.004
这是我想要的输出,显示a和b组合:
May Jun Jul Aug
Jun 1/0 NA/NA NA/NA NA/NA
Jul 0/0 0.051/0.020 NA/NA NA/NA
Aug 0/0 0.050/0.020 1.000/0.97 NA/NA
Sep 1/0 1.000/0.405 0.005/0.00 0.004/0
答案 0 :(得分:0)
我们可以尝试:
a <- round(a$p.value,3)
b <- round(b$p.value,3)
matrix(paste(a,b,sep="/"),nrow=nrow(a))