r - 如何跨多个采样日绘制两组之间的差异?
问题描述
我希望在条形图中绘制两组(升高的温度和控制)之间的值差异。我希望能够以与沿 x 轴的月份相同的方式绘制这些图。
这是我用来获取我绘制的当前条形图1的以下脚本。这显示 y 轴 = 植物生长和 x 轴 = 月。
脚本:当前条形图
Tempmean<- data %>% group_by (Treatment, Month) %>% summarize (TTmean = mean(Amean, na.rm=TRUE), TTsd=sd(Amean,na.rm=TRUE))
p<-ggplot(data=Tempmean, aes(x=factor(Month), y=TTmean, fill=Treatment)) +
geom_bar(stat="identity", position="dodge", colour="black" , size = 0.25, width=0.5) + geom_errorbar(aes(ymin=TTmean-TTsd, ymax=TTmean+TTsd), width=.1,
position=position_dodge(.5)) + scale_fill_manual(values=c("darkgray","darkolivegreen")) + scale_x_discrete(breaks=6:8,labels=c("June","July","August")) + scale_y_continuous(limits=c(0,20), breaks=seq(0,20,2))
p
这是我正在使用的数据2。我希望从 aCO2 的 TTmean 中获取 eCO2 的 TTmean。
数据:
structure(list(Treatment = c("aCO2", "aCO2", "aCO2", "eCO2","eCO2", "eCO2"), Month = c(6L, 7L, 8L, 6L, 7L, 8L), TTmean = c(10.1922587348143,10.1061784054575, 8.27148533916994, 12.0261355594138,10.8954781586458, 10.9468200269188), TTsd =c(7.04936647397141,4.18653008350561, 1.50026716071241, 3.25471492346035, 0.742036555955107, 2.00464198948226)), row.names = c(NA, -6L), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), vars = "Treatment", drop = TRUE, indices = list(0:2, 3:5), group_sizes = c(3L, 3L), biggest_group_size = 3L, labels = structure(list(Treatment = c("aCO2", "eCO2")), row.names = c(NA, -2L),class = "data.frame", vars = "Treatment", drop = TRUE))
解决方案
这应该可以解决问题。
我放弃了TTsd
,因为您似乎不需要它。诀窍在于spread()
数据,因此您可以轻松计算值的差异。我计算为aCO2
减号eCO2
;但你可以改变它mutate()
library(tidyverse)
Tempmean %>%
select(-TTsd) %>%
# either group_by Month, or just ungroup entirely
group_by(Month) %>%
spread(Treatment, TTmean) %>%
mutate(T_diff = aCO2 - eCO2) %>%
ggplot(aes(factor(Month), T_diff)) %+%
geom_bar(position = "dodge", stat = "identity", size = 0.25, width=0.5) %+%
scale_x_discrete(breaks=6:8,labels=c("June","July","August"))
推荐阅读
- sql-server - 如何显示 textimage_on 选项中使用的文件组名称?
- maximo - Maximo 7.6.1 中自动化脚本中的聚合函数
- neo4j - NEO4j 加入和选择查询
- r - 如何在流体页面中呈现数据
- javascript - 延迟加载具有数据属性的脚本 - Pinterest
- javascript - Chrome 扩展,如何在 manifest.json 中排除 chrome:// URI
- parameters - Snakemake:扩展参数
- html - 当我将斜体功能集成到主代码中时,它不起作用
- swift - Swift 中的自定义 Segue
- database - Flyway 初始化失败。看不到文件