Anova表比较R中的组,输出到乳胶?

时间:2014-02-01 09:44:14

标签: r anova categorical-data latex

我主要使用观察数据,但我读了很多实验性的科学论文,以anova表的形式报告结果,字母表示组间差异的重要性,然后是p值f-stat的联合显着性本质上是一个因子变量回归。这是我从谷歌图片搜索中取消的example

我认为这可能是一种有用的方法,可以在我继续尝试以各种方式控制它们之前,在观察数据集中提供关于群体差异(或缺乏)的摘要统计数据。我不确定这些字母通常代表什么样的测试(Tukey的东西?),但成对t测试适合我的目的。

我的主要问题:如何从R中的因子变量回归得到这样的输出,如何将其无缝导出到乳胶中?

以下是一些示例数据:

var = c(3500,600,12400,6400,1500,0,4400,400,900,2000,350,0,5800,0,12800,1200,350,800,2500,2000,0,3200,1100,0,0,0,0,0,1000,0,0,0,0,0,12400,6000,1700,3500,3000,1000,0,0,3500,5000,1000,3600,1600,3500,0,900,4200,0,0,0,0,1700,1250,500,950,500,600,1080,500,980,670,1200,600,550,4000,600,2800,650,0,3700,12500,0,0,0,1200,2700,0,NA,0,0,0,3700,2000,3500,0,0,0,3500,800,1400,0,500,7000,3500,0,0,0,0,2700,0,0,0,0,2000,5000,0,0,7000,0,4800,0,0,0,0,1800,0,2500,1600,4600,0,2000,5400,4500,3200,0,12200,0,3500,0,0,2800,3600,3000,0,3150,0,0,3750,2800,0,1000,1500,6000,3090,2800,600,0,0,1000,3800,3000,0,800,600,1200,0,240,1000,300,3600,0,1200,300,2700,NA,1300,1200,1400,4600,3200,750,300,750,1200,700,870,900,3200,1300,1500,1200,0,960,1800,8000,1200,NA,0,1080,1300,1080,900,700,5000,1500,3750,0,1400,900,1400,400,3900,0,1400,1600,960,1200,2600,420,3400,2500,500,4000,0,4250,570,600,4550,2000,0,0,4300,2000,0,0,0,0,NA,0,2060,2600,1600,1800,3000,900,0,0,3200,0,1500,3000,0,3700,6000,0,0,1250,1200,12800,0,1000,1100,0,950,2500,800,3000,3600,3600,1500,0,0,3600,800,0,1000,1600,1700,0,3500,3700,3000,350,700,3500,0,0,0,0,1500,0,400,0,0,0,0,0,0,0,500,0,0,0,0,5600,0,0,0)
factor = as.factor(c(5,2,5,5,5,3,4,5,5,5,3,1,1,1,5,3,6,6,6,5,5,5,3,5,3,3,3,3,4,3,3,3,4,3,5,5,3,5,3,3,3,3,5,3,3,3,3,3,5,5,5,5,5,3,3,5,3,5,5,3,5,5,4,3,5,5,5,5,5,5,4,5,3,5,4,4,3,4,3,5,3,3,5,5,5,3,5,5,4,3,3,5,5,4,3,3,5,3,3,4,3,3,3,3,5,5,3,5,5,3,3,5,4,3,3,3,4,4,5,3,1,5,5,1,5,5,5,3,3,4,5,5,5,3,3,4,5,4,5,3,5,5,5,3,3,3,3,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,5,4,6,4,3,5,5,3,5,3,3,4,3,5,5,5,3,5,3,3,5,5,5,3,4,3,3,3,5,3,5,3,5,5,3,5,3,5,5,5,5,5,3,5,3,5,3,4,5,5,5,6,5,5,5,5,4,5,3,5,3,3,5,4,3,5,3,4,5,3,5,3,5,3,1,5,1,5,3,5,5,5,3,6,3,5,3,5,2,5,5,5,1,5,5,6,5,4,5,4,3,3,3,5,3,3,3,3,5,3,3,3,3,3,3,5,5,5,4,4,4,5,5,3,5,4,5,5,4,3,3,3,4,3,5,5,4,3,3))

对它们做一个简单的回归,你得到以下

m = lm((var-mean(var,na.rm=TRUE))~factor-1)
summary(m)
Call:
lm(formula = (var - mean(var, na.rm = TRUE)) ~ factor - 1)

Residuals:
    Min      1Q  Median      3Q     Max 
-2040.5 -1240.2  -765.5   957.1 10932.8 

Coefficients:
        Estimate Std. Error t value Pr(>|t|)  
factor1   -82.42     800.42  -0.103   0.9181  
factor2  -732.42    1600.84  -0.458   0.6476  
factor3  -392.17     204.97  -1.913   0.0567 .
factor4   -65.19     377.32  -0.173   0.8629  
factor5   408.07     204.13   1.999   0.0465 *
factor6   303.30     855.68   0.354   0.7233  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 2264 on 292 degrees of freedom
  (4 observations deleted due to missingness)
Multiple R-squared:  0.02677,   Adjusted R-squared:  0.006774 
F-statistic: 1.339 on 6 and 292 DF,  p-value: 0.2397

很明显,因子3和5不同于零,彼此不同,但因子3与2没有差别,因子5与6不同(无论p值是多少)。

如何将其转换为anova表输出,如上例所示?有没有一种干净的方法可以将它变成乳胶,理想情况下是一种允许很多变量的形式?

1 个答案:

答案 0 :(得分:4)

以下仅回答第三个问题。

看起来xtable做了你想做的事 - 将R表导出到$ \ LaTeX $ code。

还有一个不错的gallery

我在wiki post on stackoverflow中找到了。