[英]ggplot with stat_summary for mean along time represented by days
我有這個數據表示變量 Q1 隨時間變化的值。 時間不是用日期表示的,而是用自一個事件以來的天數表示。
https://www.mediafire.com/file/yfzbx67yivvvkgv/dat.xlsx/file
我正在嘗試 plot Q1along 時間的平均值,就像在這里
我正在使用此代碼
library(Hmisc)
ggplot(dat,aes(x=days,y=Q1,colour=type,group=type)) +
stat_summary(fun.data = "mean_cl_boot", geom = "smooth")
除了似乎不適用於新ggplot2
版本的代碼之外,您還有一個問題,即您的數據並不真正適合那種 plot。 此代碼實現了您想要做的事情:
dat <- rio::import("dat.xlsx")
library(ggplot2)
library(dplyr)dat %>%
ggplot(aes(x = days, y = Q1, colour = type, group = type)) +
geom_smooth(stat = 'summary', fun.data = mean_cl_boot)
但是 plot 並沒有真正告訴您任何事情,僅僅是因為您的數據中沒有足夠的值。 大多數情況下,每天似乎只有一個值,谷值快速上下跳躍,有時天之間的差距很大。
當您將值分組到時間跨度時,您可以看到這一點。 這里我使用round(days, -2)
將四舍五入到最接近的 100(例如,756 變成 800,301 變成 300,49 變成 0):
dat %>%
mutate(days = round(days, -2)) %>%
ggplot(aes(x = days, y = Q1, colour = type, group = type)) +
geom_smooth(stat = 'summary', fun.data = mean_cl_boot)
這應該與鏈接的 plot 相同,但置信區間很大。 這並不奇怪,因為如前所述,值在 1-5 之間快速交替。 我希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.