[英]How to add custom quantile lines to a scatter plot?
那里! 我是R的新手,目前正在通过在线课程学习。
在本练习中,我使用使用ggplot2的模拟社交网络数据集“ pf”来绘制“年龄”相对于“ friend_count”的散布图。 我可以使用以下代码绘制散点图和均线,而不会出现问题:
ggplot(aes(x = age, y = friend_count), data = pf) +
geom_point(color = "orange") +
geom_line(stat = 'summary', fun.y = mean)
现在,我也尝试绘制10%的分位数线。 该课程建议以下代码:
+ geom_line(stat = 'summary', fun.y = quantile, probs = 0.1)
但是,也许是因为我使用的是较新的版本无法正常工作,并且出现了错误“未知参数:概率”,但在研究了quantile()函数之后,我尝试了以下方法:
+ geom_line(stat = 'summary', fun.y = quantile(y, probs = 0.1))
和
+ geom_line(stat = 'summary', fun.y = quantile(friend_count, probs = 0.1))
分别说“找不到对象y”和“找不到对象friend_count”。 当我尝试pf $ friend_count时,也发生了同样的情况。
+ geom_line(stat = 'summary', fun.y = quantile)
也不起作用。 我什至尝试定义一个函数“ quantile”,但实际上并没有能力。
我敢肯定有一个简单的方法可以做到...您能帮上忙吗?
在检查R帮助中的stat_summary之后,此代码最终在Udacity示例(RStudio 1.1.423)上对我有用:
ggplot(aes(x=age, y=friend_count),data=pf)+
geom_jitter(alpha=1/20,position=position_jitter(h=0),color='orange')+
xlim(13,90)+
coord_trans(y="sqrt")+
geom_line(stat='summary',fun.y=quantile,fun.args = list(0.1),
linetype=2,color='blue')+
geom_line(stat='summary',fun.y=quantile,fun.args = list(0.5),
linetype=2)+
geom_line(stat='summary',fun.y=quantile,fun.args = list(0.9),
linetype=2,color='blue')+
geom_line(stat='summary',fun.y = mean,
color='green')
ggplot(pf,aes(x=age,y=friend_count)) +
geom_point(alpha=1/20,position=position_jitter(h=0), color='yellow') +
xlim(13,90) +
coord_trans(y='sqrt') +
geom_line(stat = 'summary', fun.y=mean)+
geom_line(stat='summary', fun.y=quantile(pf$friend_count,probs=seq(0,1,0.1)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.