我有我的数据框:
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
现在我想对例如中的每个表进行 anova 测试和 Tukey 测试:
a1<-aov(L1$`D20 BBC`$value~L1$`D20 BBC`$G1)
TukeyHSD(a1)
但这只是一张桌子。如何使用for
循环对中的aov
所有表L1
执行函数,然后TukeyHSD
对所有aov
结果执行函数?