我正在尝试通过编写两个数据集(不同大小)的密度图:
data1 <- data.frame(dens = log2(c(tmm.th[,1],bidrar_mest[,1]))
, lines = c(rep("all",61893),rep("loaded",50) ))
ggplot(data1, aes(x = dens, fill = lines)) + geom_density(alpha = 0.5)
我得到一个很好的图表,显示较小的数据集具有较高的值,但我也收到一条警告消息:
Warning message: Removed 35492 rows containing non-finite values
(stat_density).
有人可以解释为什么以及如何摆脱它吗?
最佳答案
正如@Ant 和@alexwhan 已经指出的,问题可能是由于:
- 负数或等于零的点。在第二种情况下,对数转换将给出输出 -Inf,然后在分析中将其丢弃。
- 超出规定范围的点。
由于在您的情况下 x 轴或 y 轴的限制不是先验设置的,我会说原因是第一个。
请参阅以下链接以获得进一步的解释:
- http://seqanswers.com/forums/showthread.php?t=23961 (相对于第一种情况)
- How to set limits for axes in ggplot2 R plots? (相对于第二个)。
希望对您有所帮助。
关于r - ggplot2 中密度图叠加中的警告消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21985559/