如何制作一个带有字母的anova表,用于R->乳胶的分组显着差异?

时间:2014-02-02 08:08:27

标签: r latex summarization

R中是否有一个包生成这样的表: enter image description here 基本上,给定一个因子和变量的数据集,产生一个格式良好的表,其中成对t检验和字母表示差异的重要性?

虚拟数据:

var = c(rnorm(100,mean=1,sd=2),rnorm(30,mean=-1,sd=2),rnorm(50,mean=0,sd=4))
factor = as.factor(c(rep(1,100),rep(2,30),rep(3,50))

我如何获取虚拟数据并将其转换为示例表(一列)?

2 个答案:

答案 0 :(得分:1)


<强>声明


不是一个确切的答案,但它可能是一个好的开始!使用tables包。

library(Hmisc)
library(tables)
stderr <- function(x) sd(x)/sqrt(length(x))
latex(
  object = tabular((Species+1) ~ All(iris)* PlusMinus(mean, stderr, digits=1), data=iris)
 , title = "Test"
 , file=""
 , size = "small"
 , cdot = 3
 , here = TRUE
 , booktabs=TRUE
 , center="centering"
 )

<强>输出


enter image description here


被修改

您可以使用multcompView包来获取信件。


代码

library(multcompView)

Sepal.Length.fm <- aov(Sepal.Length~Species, data=iris)
Sepal.Length.Letters <- data.frame("Letters"=multcompLetters(extract_p(TukeyHSD(Sepal.Length.fm)$"Species"))$"Letters")

Sepal.Width.fm <- aov(Sepal.Width~Species, data=iris)
Sepal.Width.Letters <- data.frame("Letters"=multcompLetters(extract_p(TukeyHSD(Sepal.Width.fm)$"Species"))$"Letters")

Petal.Length.fm <- aov(Petal.Length~Species, data=iris)
Petal.Length.Letters <- data.frame("Letters"=multcompLetters(extract_p(TukeyHSD(Petal.Length.fm)$"Species"))$"Letters")

Petal.Width.fm <- aov(Petal.Width~Species, data=iris)
Petal.Width.Letters <- data.frame("Letters"=multcompLetters(extract_p(TukeyHSD(Petal.Width.fm)$"Species"))$"Letters")

Letters <- cbind(Sepal.Length.Letters, Sepal.Width.Letters, Petal.Length.Letters, Petal.Width.Letters)

<强>输出

           Letters Letters Letters Letters
versicolor       a       a       a       a
virginica        b       b       b       b
setosa           c       c       c       c

答案 1 :(得分:0)

您可以使用aggregate功能执行此操作。

df = as.data.frame(cbind(var,factor))
aggregate(df$var, by=list(df$factor), t.test)

  Group.1         x
1       1  4.939821
2       2 -2.128924
3       3 -1.431482

如果您希望多个测试显示为新列,则可以创建一个新函数作为最终参数。