После значительного времени поиска решения и возиться, я обращаюсь за помощью в попытке отобразить взвешенные средства на коробке (я думал, что отправил этот запрос в список рассылки ggplot2 , но это было более 4 часов назад, и мой вопрос не всплыл там, поэтому, опасаясь, что я допустил ошибку в своем посте, я размещаю здесь, поскольку мой вопрос весьма срочный).Как разместить взвешенные средства на ящике
Ниже приведен пример игрушки.
#data
value <- c(5, 7, 8, 6, 7, 9, 10, 6, 7, 10)
category <- c("one", "one", "one", "two", "two", "two",
"three", "three", "three","three")
weight <- c(1, 1.2, 2, 3, 2.2, 2.5, 1.8, 1.9, 2.2, 1.5)
df <- data.frame(value, category, weight)
#unweighted means by category
ddply(df, .(category), summarize, mean=round(mean(value, na.rm=TRUE), 2))
category mean
1 one 6.67
2 three 8.25
3 two 7.33
#weighted means by category
ddply(df, .(category), summarize,
wmean=round(wtd.mean(value, weight, na.rm=TRUE), 2))
category wmean
1 one 7.00
2 three 8.08
3 two 7.26
#unweighted means added to boxplot (which works fine)
ggplot(df, aes(x = category, y = value, weight = weight)) +
geom_boxplot(width=0.6, colour = I("#3366FF")) +
stat_summary(fun.y ="mean", geom ="point", shape = 23,
size = 3, fill ="white")
Мой вопрос в том, как я могу отображать взвешенные средства на коробке вместо невзвешенных?
Это было как раз то, что доктор прописал. Спасибо огромное! Это было очень полезно. – user2317662
По какой-то причине с этим кодом я получил ошибку, но код на [этот вопрос] (http://stackoverflow.com/questions/3277326/group-by-in-r-ddply-with-weighted-mean) работал , – Tom
@Tom Для меня этот код по-прежнему работает без ошибок. –