0
有问题的数据集是钻石(在dplyr中)。我正试图通过使用facet_wrap剪切来突破价格的直方图。我也希望每个地块都有中线。 这就是我所做的 -使用ggplot绘制每个组的平均值facet_wrap
by_cut <- group_by(diamonds, cut)
med <- by_cut %>%
summarise(medn = median(price))
diam <- diamonds %>%
mutate(med_cut = ifelse(cut == med$cut[1], med$medn[1],
ifelse(cut == med$cut[2], med$medn[2],
ifelse(cut == med$cut[3], med$medn[3],
ifelse(cut == med$cut[4], med$medn[4], med$medn[5])))))
diam %>%
ggplot(aes(price)) +
geom_histogram(binwidth = 100) +
facet_wrap(~ cut, scales = "free_y") +
geom_vline(aes(xintercept= med_cut), colour='red')
不过,我敢肯定这是不是理想的方式实现结果,因此我想知道什么是实现最终情节的最佳方式?
基于@yeedle评论
这里比以前更好的尝试:
diam <- diamonds %>%
group_by(cut) %>%
mutate(medn = median(as.numeric(price)))
diam %>%
ggplot(aes(price)) +
geom_histogram(binwidth = 100) +
facet_wrap(~ cut, scales = "free_y") +
geom_vline(aes(xintercept= medn, group= cut), colour='red')
我们能否进一步改善?
谢谢,它解决了我有关数字向量错误的小问题。由于错误我走了很长的路线.... –
感谢您帮助我学习R及其种族... –