我想用ggplot绘制两个连续的变量。假设我有一个dataframe,其中一列是0和1之间的比率,另一列是数量。我希望能够在x轴上使用类似这样的东西来中断比率
breaks=seq(0, 5, by = .1)在y轴上,我想得到每个断点的总和。它看起来像一个直方图,但y轴应该是断裂率内所有列的总和。如果我做一个直方图,它会是这样的:
ggplot(data=data, aes(ratio)) +
geom_histogram(breaks=seq(0, 1, by = .1), aes(fill=..count..))发布于 2018-02-05 09:24:01
尝试这个示例脚本。脚本中的x代表你想要换行的变量,然后y代表你想在这些换行中求和的变量。最终产品,变量名"SUM“应该有你的总和,名为"facet”的变量应该有你可以画出的断点。
library(dplyr)
dataframe1<-data.frame(x=seq(0,1, length.out = 100), y = seq(0,1000, length.out = 100))
x<-mutate(dataframe1,facet = factor(rep(c("0-0.25", "0.25 - 0.50", "0.50 - 0.75", "0.75 - 1.0"), each = length(dataframe1$x)/4)))
x[,"SUM"]<-NA
x$SUM
list1<-as.list(matrix(unique(x$facet),nrow = 4, ncol = 1))
list1[[1]]
i<-1:4
facetfill<-function(i){
sum1<-sum(x$y[x$facet==list1[[i]]])
x$SUM[x$facet==list1[i]]<-sum1
x$SUM
}
for (j in 1:4) {
x$SUM<-facetfill(j)
x$SUM
}
x$SUM
xhttps://stackoverflow.com/questions/48613961
复制相似问题