R 使用ggplot2绘制负值的密度图

R 使用ggplot2绘制负值的密度图,r,ggplot2,R,Ggplot2,我经常使用ggplot2包来绘制图形,包括内核密度图。到目前为止,我还没有遇到奇怪的错误,但现在我已经: as.environment(where)中的错误:'where'缺失* 我有一个数据向量,里面有负值,从-1000到-100。对于正值,同一段代码正在工作,但对于负值则不起作用。以下是小插曲: sign <- c(-1000, -800, -700, -100, -500, -250, -100, -850, -100, -700) p <- ggplot(plot_data,

我经常使用ggplot2包来绘制图形,包括内核密度图。到目前为止,我还没有遇到奇怪的错误,但现在我已经:

as.environment(where)中的错误:'where'缺失*

我有一个数据向量,里面有负值,从-1000到-100。对于正值,同一段代码正在工作,但对于负值则不起作用。以下是小插曲:

sign <- c(-1000, -800, -700, -100, -500, -250, -100, -850, -100, -700)
p <- ggplot(plot_data, aes(x=sign, fill=Status)) + geom_density(alpha = 0.5) + xlab ("Signature")+ ylab("Density")

有人能帮我解决这个问题吗,因为没有一个值是NA?

与您的数据帧和此代码(您的示例的分解版本):

如果我重新创建您的数据框,但为每个
状态添加一个额外的样本

set.seed(1492)
nsamp=3
dat <- data.frame(Status = rep(c("Control", "CyP Treated (1 Hr)", 
                                 "CyP Treated (3 Hrs)", "LPS Treated (3 Hrs)", 
                                 "Cyp+LPS Treated (3 Hrs)"), each=nsamp), 
                 sign = sample(seq(-1000, -100, by=50), 5*nsamp, replace=TRUE))
p <- ggplot(dat, aes(x=sign, fill=Status))
p <- p + geom_density(alpha=0.5)
p <- p + xlab ("Signature") + ylab("Density")
p <- p + theme_bw()
p
set.seed(1492)
nsamp=3

dat不知道您的
绘图数据中有什么
我们无能为力。制作一个小的自包含示例,说明您可以在此处包含的小数据集的问题。我在上面的问题中编辑了表并添加了表(plot_data frame)。向我们展示它如何处理正数据,因为我看不出您在哪里设置了
几何密度所需的“y”美学。如果我将
符号
更改为正值,我会得到相同的错误。@Spacedman:我想这不是与正值或负值相关的问题,因为对于其他数据集,我会得到与上述渐晕图相关的正确结果,而不是与此特定数据集相关的结果。这也不应该与“y”美学有关,因为我用同一段代码得到了预期的结果。感谢hrbrmstr,这对我来说是同样的方式,不是两次而是每个状态组中两次以上的阅读。但不幸的是,我没有额外的真实读数。
p <- ggplot(plot_data, aes(x=sign, fill=Status))
p <- p + geom_density(alpha=0.5)
p <- p + xlab ("Signature") + ylab("Density")
p <- p + theme_bw()
p
Error in exists(name, env) : argument "env" is missing, with no default
set.seed(1492)
nsamp=3
dat <- data.frame(Status = rep(c("Control", "CyP Treated (1 Hr)", 
                                 "CyP Treated (3 Hrs)", "LPS Treated (3 Hrs)", 
                                 "Cyp+LPS Treated (3 Hrs)"), each=nsamp), 
                 sign = sample(seq(-1000, -100, by=50), 5*nsamp, replace=TRUE))
p <- ggplot(dat, aes(x=sign, fill=Status))
p <- p + geom_density(alpha=0.5)
p <- p + xlab ("Signature") + ylab("Density")
p <- p + theme_bw()
p