Вложенный ANOVA в R с 4 образцами

#r #anova

#r #anova

Вопрос:

Эта категория вопросов задавалась ранее, но ни один из них не мог дать мне подсказку для решения моей проблемы (в основном им не хватает выборочных данных). Мне жаль, что я беспокою сообщество своим вопросом, но, пожалуйста, немного рекомендаций поможет мне.

Мои файлы с примерами данных, на которых я хочу выполнить вложенный ANOVA:

 a       b       c       d
2079    3141    2849    4277
2080    3202    3498    3883
1852    3739    2427    3793
3317    2511    3504    2317
3015    2533    1852    3605
2452    2871    4891    3427
2445    3484    2307    1948
3007    5639    2838    2836
4468    2239    4207    1202
2760    8820    2214    3509

a        b       c      d
3414    4357    6449    3424
2963    1827    3018    3216
2816    4254    2386    6711
2196    3634    3520    3836
2492    5676    3093    2993
1948    10109   2783    3979
2298    9456    2821    2430
4937    3111    2436    4163
3956    4955    2598    5105

    a        b       c       d 
   3637   3724    2827    3661
    3011    3190    5502    4393
    3879    2087    2237    3517
    5057    4731    3324    4029
    4045    3521    2262    3168
    4396    2410    3096    4622
    3053    2252    4162    3427
    3408    1954    3127    2935
    2021    3359    2970    2229
    5723    3874    4981    2375
    3866    4250    2001    2409
    2838    6014    3121    2836

 a    b        c       d
 3213   4733    3084    2671
2071    5239    2395    4204
2687    4924    2992    5175
2321    4251    2646    3628
2125    5769    3868    6943
4118    7649    2403    2348
4383    3048    2998    2862
3808    5482    2986    2515
2455    2420    2292    2652
2656    4973    3892    2826
4589    2882    5800    2745
6701    6567    2196    3692
2292    3834    3776    5860
4173    2610    2313    2298
3247    6040    1853    3536
3383    3292    4134    3773
3805    3789    2172    3032
  

Выше приведены четыре файла с наблюдениями в четырех выборках.

Мой подход:

 rep1=read.table("a.txt", header=T, sep="t")
rep2=read.table("b.txt", header=T, sep="t")
rep3=read.table("c.txt", header=T, sep="t")
rep4=read.table("d.txt", header=T, sep="t")
lintmass <- c(rep1,rep2,rep3,rep4)
  

Проблема, чтобы продолжить, чтобы получить:

 1) Model I (fixed-effects) ANOVA for all effects and interactions
2) Model I (fixed-effects) ANOVA for just the single-factor effects
3) Model I ANOVA for just the factor interactions
  

Я взглянул на эту страницу http://www.math.wustl.edu /~victor/classes/ma322/r-eg-11.txt

Но я застрял на этом шаге (как указано на веб-странице) :

 gender <- gl(2,3*4,2*3*4, labels=c("Male", "Female") )
  

Пожалуйста, помогите

Спасибо

Комментарии:

1. Это вам помогает?

2. @Jimbou: Я просмотрел страницу, прежде чем задать вопрос здесь. Приношу свои извинения за то, что не задал четкого вопроса, пожалуйста, взгляните на обновленный пост.

3. @cuttlefish44 Да, a, b, c, d соответствуют видам, а данные выборки четырех блоков соответствуют полу. a.txt предназначен для 1-го блока.

Ответ №1:

Для всех переменных без эффекта взаимодействия

 data.aov <- aov(a ~ . , data= dat)
  

Или просто некоторые

 data.aov <- aov(a ~  b c,data = data)   
  

Или с взаимодействием и т. Д.

 data.aov <- aov( a ~ b   c   b*c, data.dat)
  

Ответ №2:

Ваш камень преткновения — это манипулирование данными (метод, который использует сайт, выглядит немного сложным и …). Для анализа было бы лучше дополнительно обратиться к этому сайту, как упоминал @Jimbou

  ## read the data
rep1 = read.table("a.txt", header=T, sep="t")
rep2 = read.table("b.txt", header=T, sep="t")
rep3 = read.table("c.txt", header=T, sep="t")
rep4 = read.table("d.txt", header=T, sep="t")

 ## add a factor information (I called it *gender*) and combine
rep1$gender <- "JJ"
rep2$gender <- "KK"
rep3$gender <- "LL"
rep4$gender <- "MM"

data <- rbind(rep1, rep2, rep3, rep4)

 ## chage data into long format using `melt()` and change `colnames`
library(reshape2)

df <- melt(data)
names(df) <- c("gender", "species", "lintmass")

# > head(df, n=3)
#   gender species lintmass
# 1     JJ       a     2079
# 2     JJ       a     2080
# 3     JJ       a     1852   # finishing a data manipulation
  

Поскольку я упаковал все данные data.frame , вам нужно записать data = df в функцию.

1) Модель I (с фиксированными эффектами) ANOVA для всех эффектов и взаимодействий

 model1.1 <- aov(lintmass ~ species * gender, data = df)
summary(model1.1)
  # this is equivalent to anova( lm(lintmass ~ species * gender, data = df) )