У меня есть мой фрейм данных:
df <- read.table(text = "id G1 G2 G3 value
1 A D20 TAN 1
2 A D20 TAN 9
3 A D20 TAN 10
4 A D40 TAN 8
5 A D40 TAN 3
6 A D40 TAN 9
7 A D60 TAN 5
8 A D60 TAN 5
9 A D60 TAN 10
10 B D20 TAN 7
11 B D20 TAN 8
12 B D20 TAN 10
13 B D40 TAN 8
14 B D40 TAN 3
15 B D40 TAN 7
16 B D60 TAN 1
17 B D60 TAN 10
18 B D60 TAN 1
19 C D20 TAN 5
20 C D20 TAN 9
21 C D20 TAN 4
22 C D40 TAN 6
23 C D40 TAN 3
24 C D40 TAN 8
25 C D60 TAN 9
26 C D60 TAN 10
27 C D60 TAN 4
28 A D20 BBC 9
29 A D20 BBC 3
30 A D20 BBC 7
31 A D40 BBC 10
32 A D40 BBC 7
33 A D40 BBC 4
34 A D60 BBC 2
35 A D60 BBC 3
36 A D60 BBC 8
37 B D20 BBC 8
38 B D20 BBC 1
39 B D20 BBC 5
40 B D40 BBC 6
41 B D40 BBC 2
42 B D40 BBC 6
43 B D60 BBC 9
44 B D60 BBC 2
45 B D60 BBC 10
46 C D20 BBC 3
47 C D20 BBC 1
48 C D20 BBC 4
49 C D40 BBC 10
50 C D40 BBC 8
51 C D40 BBC 3
52 C D60 BBC 5
53 C D60 BBC 3
54 C D60 BBC 1",stringsAsFactors = FALSE, header = TRUE)
Я делаю дополнительный столбец по:
df$Group<-paste(df$G2,df$G3)
Затем я делю df
на список по Group
:
L1<-split(df,df$Group)
Теперь я хочу провести тест на анову и тест Тьюки для каждой таблицы в L1
Например:
a1<-aov(L1$`D20 BBC`$value~L1$`D20 BBC`$G1)
TukeyHSD(a1)
Но это только одна таблица. Как я могу использовать цикл for
для выполнения функции aov
для всей таблицы в L1
, а затем для выполнения функции TukeyHSD
для всех результатов aov
?