ggplot2中密度图叠加层出现的警告信息

3

我正在尝试通过编写以下代码来绘制两个数据集(大小不同)的密度图:

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).

有人能解释一下为什么以及如何去除它吗?


1
您的数据中是否存在负数进行对数转换?这将创建非有限值,然后将其删除... 我认为警告表明您可能还没有最好地理解您的数据,这可能是最大的问题所在? - alexwhan
是的,你说得对,对数据的理解还不够好,非常感谢! - user3346285
实际上,在对数变换之前没有负数,如果您有任何其他建议,我将非常感谢您的意见! - user3346285
6
当我使用xlim()限制绘图的X轴范围时,一些数据点被排除掉,从而出现了这个警告。 - Ant
1个回答

2
正如@Ant和@alexwhan已经指出的,问题可能是由以下原因之一引起的:
  • 得分为负数或等于零。在第二种情况下,对数转换将输出-INF,然后在分析中被丢弃。
  • 得分超出规定范围。
由于您的情况下,x轴或y轴的限制没有预先设置,我会说原因是第一个。
请参见以下链接以获得更多解释: 希望这能帮到您。

2
实际上,可视化中的另一个问题可能是由于数据集中存在“NA”而触发的。<br/>然后,命令na.omit应该适用于您。 - Matteus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接