我找不到密度附近双点的文档
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 ..是一个运算符.我想找到它是如何定义的.
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)分别为两个颜色类.谢谢.