【发布时间】:2016-07-15 22:50:58
【问题描述】:
我有一个数据集,其中x 代表一年中的某一天(比如生日),我想创建一个密度图。
此外,由于我有一些分组信息(比如男孩或女孩),我想使用ggplot2 的功能来制作密度图。
一开始很容易:
require(ggplot2); require(dplyr)
bdays <- data.frame(gender = sample(c('M', 'F'), 100, replace = T), bday = sample(1:365, 100, replace = T))
bdays %>% ggplot(aes(x = bday)) + geom_density(aes(color = factor(gender)))
但是,由于边缘效应,这给出的估计值很差。
我想应用我可以使用圆坐标的事实,以便 365 + 1 = 1 -- 12 月 31 日之后的一天是 1 月 1 日。
我知道circular 包提供了这个功能,但我没有成功使用stat_function() 调用实现它。
使用ggplot2 对我特别有用,因为我希望能够使用构面、aes 调用等。
另外,为了澄清,我想要看起来像 geom_density 的东西——我不是在寻找像 Circular density plot using ggplot2 所示的极坐标图。
【问题讨论】:
-
这是一个可能有用的really neat example,并尝试将其显示为圆形热图而不是密度。
标签: r ggplot2 statistics kernel-density