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)分别为两个颜色类.谢谢.
我正在使用Windows机器,并希望使用默认文本编辑器打开ipython历史命令.是否有允许我这样做的命令?谢谢.
假设我导入了外部数据,这是一个列联表,如下所示:
var_names <-c("School", "Coffeeshop", "Hospitals", "Parks")
Washington <- c(142, 120, 20, 20)
Seattle<-c(120, 140, 30, 40)
ctable <- data.frame(rbind(Washington, Seattle))
colnames(ctable) <- var_names
ctable
School Coffeeshop Hospitals Parks
Washington 142 120 20 20
Seattle 120 140 30 40
Run Code Online (Sandbox Code Playgroud)
现在ctable是'data.frame',如何在R中将其类转换为'table'?谢谢!