我正在为我仍在收集数据的数据集设置绘图模板。目前,我的代码设置为按站点/处理/日期汇总数据,并获取绘图的平均值和标准误差。
我似乎无法找到一种方法让ggplot也输出有效符号(目前在单独的函数中运行anova)。如果可能的话,我宁愿设置代码,以便它可以运行anova并将结果(显着性)输出到绘图上,而无需手动添加每个有效值。
目前,我对ggplot的输入是平均值和标准错误的列表。有谁知道如何设置ggplot来测试重要性并输出结果?
我目前的绘图代码模板:
代码数据:
AA <- aggregate(cbind(D$NH4.K2SO4) ~ D$treatment + D$Date + D$Site, FUN = "mean")
ASD <- aggregate(cbind(D$NH4.K2SO4) ~ D$treatment + D$Date + D$Site, FUN = "sd")
Length <- aggregate(cbind(D$NH4.K2SO4) ~ D$treatment + D$Date + D$Site, FUN = "length")
structure(list(Treatment = structure(c(2L, 7L, 1L, 2L, 7L, 1L,
1L, 1L, 1L, 2L, 7L, 1L, 2L, 7L, 1L, 1L, 1L, 1L, 2L, 7L, 2L, 7L,
1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Ancillary", "Control", "Lysim",
"Lysim 2", "Lysim 3", "Lysim 4", "Snowfence"), class = "factor"),
Date = structure(c(2L, 2L, 5L, 10L, 10L, 11L, 14L, 20L, 24L,
1L, 1L, 6L, 8L, 8L, 9L, 15L, 18L, 22L, 2L, 2L, 3L, 3L, 4L,
7L, 12L, 13L, 19L, 23L), .Label = c("3/29/2017", "3/30/2017",
"5/31/2017", "6/1/2017", "6/26/2017", "6/27/2017", "6/28/2017",
"6/3/2017", "6/4/2017", "6/6/2017", "6/7/2017", "6/8/2017",
"7/19/2017", "7/20/2017", "7/21/2017", "7/26/2017", "7/4/2017",
"8/10/2017", "8/11/2017", "8/12/2017", "8/17/2017", "8/23/2017",
"8/24/2017", "8/25/2017", "8/31/2017"), class = "factor"),
Site = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L), .Label = c("Hydric", "Mesic", "Xeric"), class = "factor"),
X = c(7.43267638333333, 0.790914962333333, 32.7158845425,
39.61425484125, 50.811531665, 105.29598620625, 40.95814313875,
11.1499641395, 5.8066056215, 0.970978786333333, 0.498484719666667,
25.91819105925, 23.5674717097143, 30.5854228021429, 21.67689724125,
16.431000924875, 36.63930367125, 16.228933801, 2.06913470133333,
11.091178665, 12.246150595875, 15.2033620815, 32.612539247875,
19.31612232475, 25.19268196025, 20.321271819, 10.987626749625,
13.80181256875), SE = c(7.43267638333333, 0.45237767615669,
7.17697888847507, 6.516371225529, 7.30540654221043, 37.2883238319644,
9.49039191212815, 2.48045614501937, 0.947770136958039, 0.807431277787536,
0.498484719666667, 8.31060998160046, 3.92447408041183, 8.21893284470945,
3.19749050842153, 2.49064179501535, 6.35501411297307, 3.6706622694705,
1.5543525013086, 4.42138133279728, 2.14838219321163, 4.21206015374826,
8.98165777115019, 3.42707918986775, 11.1234465728408, 5.76575917511913,
2.05024630936161, 4.30325294154136)), .Names = c("Treatment",
"Date", "Site", "X", "SE"), row.names = c(1L, 2L, 3L, 4L, 5L,
6L, 7L, 10L, 12L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L,
23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L), class = "data.frame")
ggplot(AA,
aes(Date, X, color = Site, shape = Treatment))+
geom_point(size = 10)+
geom_errorbar(aes(ymin = X - SE, ymax = X + SE),
width = 0.2, lwd = 3)+
xlab("")+
ylab("NH4 (ug NH4-N per g dry soil)")+
ggtitle("AGGIE NH4 2017")+
ylim(0, 150)+
theme_bw() +
theme(axis.line = element_line(colour = "black"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.title.y= element_text(vjust = 4.3),
axis.text = element_text(size = 45))+
theme(text = element_text(size = 50),
axis.text.x= element_text(angle = 45, vjust = 0.4),
axis.text.y= element_text(angle = 90, hjust = 0.4),
axis.ticks = element_line(size = 5),
axis.ticks.length = unit(.75, "cm"))+
theme(legend.direction = 'vertical',
legend.key = element_rect(size = 1),
legend.key.size = unit(4, 'lines'))
ggsave("NH4 K2SO4 2017.tiff",
scale = 5, width = 8, height = 4, units = "in")
这是我当前的图形,没有重要符号:
我想合并NH4.aov <- with(D, aov(D$NH4.K2SO4 ~ treatment * Site * Date))
并让它在图表上的符号之间打印显着(p <0.05)。我想首先标记具有显着差异的具体日期,并且如果我要将X和SE更改为另一个变量,即使用手动输入每个有效值,则使代码有效。