Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 绘图是指在带有ggplot的散点图上绘制线图_R_Ggplot2_Mean - Fatal编程技术网

R 绘图是指在带有ggplot的散点图上绘制线图

R 绘图是指在带有ggplot的散点图上绘制线图,r,ggplot2,mean,R,Ggplot2,Mean,我有一个简单的数据框,其中包含每个因子(CT)的三个重复(值)。我想把它画成geom_点,然后把点的平均值画成geom_线 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.79

我有一个简单的数据框,其中包含每个因子(CT)的三个重复(值)。我想把它画成geom_点,然后把点的平均值画成geom_线

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)

如何得到一条几何线,表示每个因子的平均值。我尝试过统计摘要:

ggplot(df, aes(x=CT, y=value)) + geom_point() +
stat_summary(aes(y = value,group = CT), fun.y=mean, colour="red", geom="line")
但它不起作用。 “geom_路径:每个组只包含一个观察。是否需要调整组美学?”

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


另外,我还对平滑线感兴趣。

您应该将
组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)

您可以使用
dplyr
包获取每个因素的平均值

library(dplyr)
group_means <- df %>%
  group_by(CT) %>%
  summarise(mean = mean(value))
根据hrbrmstr的评论,您可以使用以下内容添加平滑线:

ggplot(df, aes(x=as.numeric(CT), y=value, group=1)) + geom_point() + 
  geom_segment(aes(x=as.numeric(CT)-0.4, xend=as.numeric(CT)+0.4, y=mean, yend=mean), 
               data=group_means, colour="red") +
  scale_x_continuous("name", labels=as.character(df$CT), breaks=as.numeric(df$CT)) + 
  geom_smooth()

ggplot(df,aes(x=CT,y=value,group=1))+geom_-smooth(method=“leash”)+geom_-point()
也许吧?谢谢,非常简单:-)这能回答你的问题吗?谢谢它的工作…我正试图重新排序的x轴与此,但它不工作的任何想法?ggplot(原始数据,aes(x=CT,y=value))+geom_point()+scale_x_离散(极限=c(“ET”,“HP”,“P”,“HT”,“LT”),我很想尝试您的解决方案,但似乎dplyr不适用于R3.0.0。
ggplot(df, aes(x=as.numeric(CT), y=value)) + geom_point() + 
  geom_segment(aes(x=as.numeric(CT)-0.4, xend=as.numeric(CT)+0.4, y=mean, yend=mean), 
               data=group_means, colour="red") +
  scale_x_continuous("name", labels=as.character(df$CT), breaks=as.numeric(df$CT))
ggplot(df, aes(x=as.numeric(CT), y=value, group=1)) + geom_point() + 
  geom_segment(aes(x=as.numeric(CT)-0.4, xend=as.numeric(CT)+0.4, y=mean, yend=mean), 
               data=group_means, colour="red") +
  scale_x_continuous("name", labels=as.character(df$CT), breaks=as.numeric(df$CT)) + 
  geom_smooth()