R 如何在聚合数据的ggplot2中创建小提琴图?
我试图在ggplot2中创建一个由预先计算的计数组成的聚合数据的小提琴图(原始数据太大,需要很长时间才能绘制)。下面是示例数据集R 如何在聚合数据的ggplot2中创建小提琴图?,r,plot,ggplot2,R,Plot,Ggplot2,我试图在ggplot2中创建一个由预先计算的计数组成的聚合数据的小提琴图(原始数据太大,需要很长时间才能绘制)。下面是示例数据集 data <- data.frame(category = rep(LETTERS[1:3],3), value = c(1,1,1,2,2,2,3,3,3), count = c(3,2,1,1,2,3,2,1,3)) data您看到的任何差异都可能仅仅是由于密度计算方式的差异造成的。以下是您给出的
data <- data.frame(category = rep(LETTERS[1:3],3),
value = c(1,1,1,2,2,2,3,3,3),
count = c(3,2,1,1,2,3,2,1,3))
data您看到的任何差异都可能仅仅是由于密度计算方式的差异造成的。以下是您给出的示例:
data <- data.table(category = rep(LETTERS[1:3],3),
value = c(1,1,1,2,2,2,3,3,3),
count = c(3,2,1,1,2,3,2,1,3))
data[, count2 := count/sum(count), by = category]
ggplot(data, aes(x = category, y = value, weight = count2)) + geom_violin()
如果没有方法不起作用的数据集,很难对数据进行故障排除。有更好的例子吗?另外,聚合图和原始值图的例子也会有所帮助。
val2 <- unlist(sapply(1:length(data$value),
function(x) rep(data$value[x],
data$count[x])))
cat2 <- unlist(sapply(1:length(data$value),
function(x) rep(data$category[x],
data$count[x])))
dat2 <- data.table(cat2, val2)
ggplot(dat2, aes(x = cat2, y = val2)) + geom_violin()