Как различать метки stats_cor по группам в R - PullRequest
0 голосов
/ 10 июля 2020

Я использую ggplot2 для построения двух переменных за раз. Я рисую две возрастные группы и общие данные на одном графике. Я также использую stat_cor из пакета ggpubr, чтобы сообщать о корреляциях для двух групп и общих данных.

Я хочу, чтобы каждая метка stat_cor имела собственный индекс - имя группы ("старый "," молодой "). Мне удалось сделать это для общих данных, но я не знаю, как добавлять собственные метки для каждой группы.

for (i in 18:21) {
  p1 <- ggplot(df, mapping=aes(x = Age, y = unlist(df[i]), color=factor(AgeGroup))) + 
    geom_smooth(method="lm") + 
    geom_point(size = 4) +
    geom_smooth(data=df, mapping = aes(x = Age, y = unlist(df[i]), group=1, color="black"), method = "lm") +
    scale_colour_discrete(name="Group", labels=c("young", "old", "overall")) + 
    stat_cor(aes(color = factor(AgeGroup), y = unlist(df[i]))) +
    stat_cor(aes(x = Age, y = unlist(df[i]), group=1, color="black", 
                 label = paste(sub("R",expression("R"[overall]),..r.label..), ..p.label.., sep = "~`,`~")))
  
  ggsave(p1, file=paste0("Age_", names(df)[i], ".png"), scale=1)
}
...