首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何制作一个带有字母的anova表,表示groupwise在R->latex上的显著差异?

如何制作一个带有字母的anova表,表示groupwise在R->latex上的显著差异?
EN

Stack Overflow用户
提问于 2014-02-02 16:08:27
回答 2查看 4.8K关注 0票数 3

在R中有没有一个包可以生成这样的表:

基本上,给定一个因素和变量的数据集,产生一个格式良好的表格,其中包含成对的t检验和字母,表明差异的显著性?

虚拟数据:

代码语言:javascript
复制
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))

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

EN

回答 2

Stack Overflow用户

发布于 2014-02-02 22:23:47

免责声明

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

代码语言:javascript
复制
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"
 )

输出

编辑的

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

代码

代码语言:javascript
复制
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)

输出

代码语言:javascript
复制
           Letters Letters Letters Letters
versicolor       a       a       a       a
virginica        b       b       b       b
setosa           c       c       c       c
票数 1
EN

Stack Overflow用户

发布于 2014-02-02 16:41:09

您可以使用aggregate函数来完成此操作。

代码语言:javascript
复制
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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21508408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档