我有兩組平均值的演變。但是隨著每個時間點的有效觀察數量發生變化,我想在每個時間點將每個組的有效值數量添加到圖表中。目的是讓讀者看到,隨著時間的推移,平均值不是根據相同數量的個體計算的
mydata<-data.frame(
ID=1:10,
groupe=c(rep("A",5),rep("B",5)),
value1=c(50,49,47,46,44,39,37,36,30,30),
value2=c(43,40,42,36,25,37,36,35,30,28),
value3=c(32,30,38,32,NA,34,36,32,27,NA),
value4=c(24,25,30,NA,NA,30,32,28,NA,28),
value5=c(24,22,NA,NA,NA,25,27,NA,NA,NA)
)
library(dplyr)
mydata2<-mydata %>%
group_by(groupe) %>%
summarise(mean_value1 = mean(value1),
mean_value2 = mean(value2),
mean_value3 = mean(value3,na.rm=T),
mean_value4 = mean(value4,na.rm=T),
mean_value5 = mean(value5,na.rm=T)
)
mydata2Lg<-mydata2%>%pivot_longer(
cols = mean_value1 :mean_value5,
names_to = "time",values_to = "mean",
names_prefix = "mean_value"
)
mydata2Lg$groupe<-as.factor(mydata2Lg$groupe)
ggplot(mydata2Lg,aes(x=time, y=mean, group=groupe,color=groupe))
geom_line(aes(linetype=groupe),size=1)
geom_point(aes(shape=groupe))
我很抱歉沒有給出我想要的清晰的視覺指示。我希望你明白我的意思。
下圖
uj5u.com熱心網友回復:
顯示由不同樣本量引起的不確定性的典型方法是使用誤差條或色帶來指示標準誤差。這為資料的傳播和樣本量所引入的不確定性提供了一個很好的直觀直覺。但是,您也可以添加計數標簽。您只需要適當地總結您的資料。
為了完整起見,以下是您的資料,用標準誤差帶和每個時間點的樣本數量標簽表示:
library(tidyverse)
mydata %>%
pivot_longer(value1:value5) %>%
group_by(groupe, name) %>%
summarize(count = sum(!is.na(value)),
mean = mean(value, na.rm = TRUE),
sd = sd(value, na.rm = TRUE)) %>%
mutate(time = as.numeric(gsub("\\D", "", name)),
upper = mean sd/sqrt(count),
lower = mean - sd/sqrt(count)) %>%
ggplot(aes(time, mean, color = groupe))
geom_ribbon(aes(ymin = lower, ymax = upper, fill = groupe),
color = NA, alpha = 0.2)
geom_point()
geom_line()
geom_label(aes(label = paste0("n = ", count),
y = mean ifelse(groupe == "A", 1,-1)),
key_glyph = draw_key_blank)
scale_color_manual(values = c("orangered3", "deepskyblue4"))
scale_fill_manual(values = c("orangered3", "deepskyblue4"))
labs(title = 'Mean values for each group over time \u00B1 standard error',
subtitle = expression(italic("Labels show sample size at each point")))
theme_light(base_size = 16)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471597.html