小编use*_*547的帖子

如何让geom_vline尊重facet_wrap?

我已经四处寻找,但一直无法找到答案.我想做一个加权的geom_bar图,用垂直线覆盖,显示每个面的整体加权平均值.我无法做到这一点.垂直线似乎是应用于所有方面的单个值.

require('ggplot2')
require('plyr')

# data vectors
panel <- c("A","A","A","A","A","A","B","B","B","B","B","B","B","B","B","B")
instrument <-c("V1","V2","V1","V1","V1","V2","V1","V1","V2","V1","V1","V2","V1","V1","V2","V1")
cost <- c(1,4,1.5,1,4,4,1,2,1.5,1,2,1.5,2,1.5,1,2)
sensitivity <- c(3,5,2,5,5,1,1,2,3,4,3,2,1,3,1,2)

# put an initial data frame together
mydata <- data.frame(panel, instrument, cost, sensitivity)

# add a "contribution to" vector to the data frame: contribution of each instrument
# to the panel's weighted average sensitivity.
myfunc <- function(cost, sensitivity) {
  return(cost*sensitivity/sum(cost))
}
mydata <- ddply(mydata, .(panel), transform, contrib=myfunc(cost, sensitivity))

# two views of each panels weighted average; should be the same numbers either way …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

21
推荐指数
2
解决办法
8103
查看次数

标签 统计

ggplot2 ×1

r ×1