绘图意味着使用ggplot作为散点图的线图

Tok*_*ger 4 r mean ggplot2

我有这个简单的数据框,每个因子(CT)有三个重复(值).我想将它绘制为geom_point,而不是geom_line作为点的平均值.

gene <- c("Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5","Ckap5")
value <- c(0.86443, 0.79032, 0.86517, 0.79782, 0.79439, 0.89221, 0.93071, 0.87170, 0.86488, 0.91133, 0.87202, 0.84028, 0.83242, 0.74016, 0.86656)
CT <- c("ET","ET","ET", "HP","HP","HP","HT","HT","HT", "LT","LT","LT","P","P","P")
df<- cbind(gene,value,CT)
df<- data.frame(df)
Run Code Online (Sandbox Code Playgroud)

所以,我可以制作散点图.

ggplot(df, aes(x=CT, y=value)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如何获得表示每个因子的均值的geom_line.我试过了stat_summary:

ggplot(df, aes(x=CT, y=value)) + geom_point() +
stat_summary(aes(y = value,group = CT), fun.y=mean, colour="red", geom="line")
Run Code Online (Sandbox Code Playgroud)

但它不起作用."geom_path:每组只包含一个观察.你需要调整群体审美吗?"

但每组有三个观察,有什么不对?

PS.我也对顺畅的线路感兴趣.

ags*_*udy 14

你应该设置group aes为1:

ggplot(df, aes(x=CT, y=value)) + geom_point() +
  stat_summary(aes(y = value,group=1), fun.y=mean, colour="red", geom="line",group=1)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述