ggplot2警告:警告消息:`stat_density()`中的计算失败:尝试应用非函数

时间:2016-12-14 17:46:06

标签: r ggplot2

我正在尝试使用ggplot来绘制我的2个数据集。这是我的代码。

data <- read.table("test.txt",sep="\t",header = F)
y <- data.frame(v1=data$V7,v2=data$V8)
head(y)

         v1         v2
1 -0.305037 0.00223546
2 -0.207126 0.26586100
3  0.290341 0.49381600
4 -0.345713 0.21023300
5 -1.249040 0.54090400
6 -0.340126 0.60984800

y2<-head(y,100)
d2<-melt(y2)
ggplot(d2,aes(y2=value, fill=variable)) + geom_density(alpha=0.25)

我正在从这篇文章中获取数据集的帮助 Overlay density plots 我收到此警告并且未生成图表:

警告讯息: stat_density()中的计算失败: 尝试应用非功能性

我该如何做到这一点?

由于

2 个答案:

答案 0 :(得分:1)

这似乎产生了我认为你正在寻找的东西。最重要的是在ggplot调用中将y2=更改为x=

(我只使用y作为你提供的值。我认为这适用于你所拥有的y

只有在您尝试仅为前100个值创建密度图时才需要y2 <- head(y,100)

y <- data.frame(v1 = c(-.305, -.207, .290, -.346, -1.25, -.340),
                v2 = c(.002, .266, .464, .210, .541, .610))

library('reshape2')
d2 <- melt(y)

library('ggplot2')
ggplot(d2, aes(x = value, fill = variable)) + geom_density(alpha = .25)

答案 1 :(得分:0)

如果其他人看到了与特定案例相关的问题和公认的答案,则引起相当困惑和误导性错误消息的根本问题是aes()问题。当我忘了包含aes()时,我也收到了相同的消息。