繁体   English   中英

如何在散点图中添加自定义分位数线?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM