相关疑难解决方法(0)

ggplot中的双点

我找不到密度附近双点的文档

set.seed(1234)
df <- data.frame(cond = factor(rep(c("A","B"), each=200)), rating = c(rnorm(200),rnorm(200, mean=.8)))
print(head(df))
print(ggplot(df, aes(x=rating)) + 
    geom_histogram(aes(y=..density..),      # Histogram with density instead of count on y-axis
                   binwidth=.5,
                   colour="black", fill="white") +
    geom_density(alpha=.2, fill="#FF6666") +
    geom_vline(aes(xintercept=mean(rating, na.rm=T)),   # Ignore NA values for mean
               color="red", linetype="dashed", size=1))
Run Code Online (Sandbox Code Playgroud)

你知道他们代表什么运营商吗?

编辑

我知道它是什么并不在GEOM使用时,我想知道它是什么.例如,单点运算符定义为

> .
function (..., .env = parent.frame()) 
{
    structure(as.list(match.call()[-1]), env = .env, class = "quoted")
}
<environment: namespace:plyr>
Run Code Online (Sandbox Code Playgroud)

如果我重新定义密度,那么..density ..有不同的效果,所以看起来XX - > ..XX ..是一个运算符.我想找到它是如何定义的.

r ggplot2

26
推荐指数
1
解决办法
4706
查看次数

让ggplot2直方图显示y轴上的分类百分比

library(ggplot2)
data = diamonds[, c('carat', 'color')]
data = data[data$color %in% c('D', 'E'), ]
Run Code Online (Sandbox Code Playgroud)

我想比较颜色D和E的克拉直方图,并使用y轴上的分类百分比.我尝试过的解决方案如下:

解决方案1:

ggplot(data=data, aes(carat, fill=color)) +  geom_bar(aes(y=..density..), position='dodge', binwidth = 0.5) + ylab("Percentage") +xlab("Carat")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这不太正确,因为y轴显示估计密度的高度.

解决方案2:

 ggplot(data=data, aes(carat, fill=color)) +  geom_histogram(aes(y=(..count..)/sum(..count..)), position='dodge', binwidth = 0.5) + ylab("Percentage") +xlab("Carat")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这也不是我想要的,因为用于计算y轴上的比率的分母是D + E的总数.

有没有办法用ggplot2的堆积直方图显示分组百分比?也就是说,不是在y轴上显示(bin中的ob数)/ count(D + E),而是希望它显示(bin中的obs数量)/ count(D)和(bin中的obs数量)/count(E)分别为两个颜色类.谢谢.

r ggplot2

12
推荐指数
2
解决办法
8092
查看次数

标签 统计

ggplot2 ×2

r ×2