当我使用geom_density_ridges()
时,该图通常最终会显示数据中不存在的长尾值。
这是一个例子:
library(tidyverse)
library(ggridges)
data("lincoln_weather")
# Remove all negative values for "Minimum Temperature"
d <- lincoln_weather[lincoln_weather$`Min Temperature [F]`>=0,]
ggplot(d, aes(`Min Temperature [F]`, Month)) +
geom_density_ridges(rel_min_height=.01)
如您所见,1 月、2 月和 12 月均显示负温度,但数据中根本没有负值。
当然,我可以在 x 轴上添加限制,但这并不能解决问题,因为它只会截断现有的错误密度。
ggplot(d, aes(`Min Temperature [F]`, Month)) +
geom_density_ridges(rel_min_height=.01) +
xlim(0,80)
现在,该图使一月和二月的值看起来为零(没有)。这也使它看起来像 0 度经常发生在 12 月,而实际上只有 1 天这样的日子。
我怎样才能解决这个问题?