我想在ggplot2中使用fun.data
选项。我想要做的是一个图表,显示在调查问题中选择超过4分的人的百分比(加权)。
如果我想做相同的图形,但没有给人们加权,我会这样做:
ggplot(database, aes(x,y)) +
geom_point(stat='summary', fun.y=function1)
其中:
function1 <- function(x){
value=sum(x>=4)/sum(x)
names(value)='y'
value
}
但是如何才能为称重的案例做到这一点?我尝试了这个选项,但它不起作用:
ggplot(database, aes(x,y)) +
geom_point(stat='summary', fun.data=function2)
其中:
function2 <- function(base){
value=sum((x>=4)*base$weight)/sum(base$weight)
result=c(value, value, value)
names(result)=c('y','ymax', 'ymin')
result
}
但是,它无法识别base$weight
。为什么呢?