作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面是使用 ggplot2 生成箱线图的代码,我正在尝试修改以适应我的问题:
library(ggplot2)
set.seed(1)
# create fictitious data
a <- rnorm(10)
b <- rnorm(12)
c <- rnorm(7)
d <- rnorm(15)
# data groups
group <- factor(rep(1:4, c(10, 12, 7, 15)))
# dataframe
mydata <- data.frame(c(a,b,c,d), group)
names(mydata) <- c("value", "group")
# function for computing mean, DS, max and min values
min.mean.sd.max <- function(x) {
r <- c(min(x), mean(x) - sd(x), mean(x), mean(x) + sd(x), max(x))
names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
r
}
# ggplot code
p1 <- ggplot(aes(y = value, x = factor(group)), data = mydata)
p1 <- p1 + stat_summary(fun.data = min.mean.sd.max, geom = "boxplot") + ggtitle("Boxplot con media, 95%CI, valore min. e max.") + xlab("Gruppi") + ylab("Valori")
就我而言,我没有实际的数据点,只有它们的平均值和标准差(数据呈正态分布)。因此对于这个例子来说它将是:
mydata.mine = data.frame(mean = c(mean(a),mean(b),mean(c),mean(d)),sd = c(sd(a),sd(b),sd(c),sd(d)),group = c(1,2,3,4))
但是我仍然想制作一个箱线图。我想到定义:ymin = 平均值 - 3*sd下限 = 平均值 - 标准差平均值 = 平均值上层 = 均值 + 标准差
ymax = 平均值 + 3*sd
但我不知道如何定义一个函数,该函数将从 stat_summary 中的 fun.data 访问 mydata.mine 的平均值和 sd。或者,我可以使用 rnorm 从由我拥有的均值和 sd 参数化的法线中绘制点,但第一个选项在我看来更加优雅和简单。
最佳答案
ggplot(mydata.mine, aes(x = as.factor(group))) +
geom_boxplot(aes(
lower = mean - sd,
upper = mean + sd,
middle = mean,
ymin = mean - 3*sd,
ymax = mean + 3*sd),
stat = "identity")
关于r - 使用汇总统计在 ggplot2 中生成箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22212885/
我有一个像这样的结构: struct S { data: i32, fun: Box, } 并希望使用编码器序列化数据部分。为此,我使用 rustc_serialize 并推导出它的特
我在 tomcat 中使用基于表单的身份验证,实际上我使用的是 j_security_check。代码如下 Login to the Tomcat-Demo applic
我是一名优秀的程序员,十分优秀!