R 仅更改“geom_箱线图”中某个因子的一个级别的晶须定义` 我试图改变晶须定义,将其扩展到最小和最大值(即,不考虑任何异常值),如In,但仅针对映射到x轴的因子的单一水平。答案中的代码将更改整个绘图的胡须定义
如果有的话,正确的方法是什么?扩展问题中链接的示例,您可以执行以下操作:R 仅更改“geom_箱线图”中某个因子的一个级别的晶须定义` 我试图改变晶须定义,将其扩展到最小和最大值(即,不考虑任何异常值),如In,但仅针对映射到x轴的因子的单一水平。答案中的代码将更改整个绘图的胡须定义,r,plot,ggplot2,boxplot,R,Plot,Ggplot2,Boxplot,如果有的话,正确的方法是什么?扩展问题中链接的示例,您可以执行以下操作: f <- function(x) { r <- quantile(x, probs = c(0.05, 0.25, 0.5, 0.75, 0.95)) names(r) <- c("ymin", "lower", "middle", "upper", "ymax") r } # sample data d <- data.frame(x = gl(2,50), y = rnorm(10
f <- function(x) {
r <- quantile(x, probs = c(0.05, 0.25, 0.5, 0.75, 0.95))
names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
r
}
# sample data
d <- data.frame(x = gl(2,50), y = rnorm(100))
# do it
ggplot(d, aes(x, y)) +
stat_summary(data = subset(d, x == 1), fun.data = f, geom = "boxplot") +
geom_boxplot(data = subset(d, x == 2))
扩展问题中链接的示例,您可以执行以下操作:
f <- function(x) {
r <- quantile(x, probs = c(0.05, 0.25, 0.5, 0.75, 0.95))
names(r) <- c("ymin", "lower", "middle", "upper", "ymax")
r
}
# sample data
d <- data.frame(x = gl(2,50), y = rnorm(100))
# do it
ggplot(d, aes(x, y)) +
stat_summary(data = subset(d, x == 1), fun.data = f, geom = "boxplot") +
geom_boxplot(data = subset(d, x == 2))
一种方法是创建两个数据帧或数据子集。类似于
geom\u箱线图(data=full\u df,…)+stat\u summary(data=single\u factor\u df,…)
。或者先自己创建所需尺寸,然后使用geom\u箱线图(…,stat='identity')
。对于观众来说,这种方法似乎会令人困惑,如果不是误导的话。@JasonAizkalns,这就是我想到的,但当我尝试时,我得到了错误:美学必须是长度1或与数据(60):x,y,fill
相同。不确定问题出在哪里。@这就是为什么最好提供样本数据或使问题重现的原因。一种方法是创建两个data.Frame或数据子集。类似于geom\u箱线图(data=full\u df,…)+stat\u summary(data=single\u factor\u df,…)
。或者先自己创建所需尺寸,然后使用geom\u箱线图(…,stat='identity')
。对于观众来说,这种方法似乎会令人困惑,如果不是误导的话。@JasonAizkalns,这就是我想到的,但当我尝试时,我得到了错误:美学必须是长度1或与数据(60):x,y,fill
相同。不确定问题出在哪里。@这就是为什么最好提供样本数据或使您的问题重现的原因。谢谢!我解决了我的问题,现在它运行得很好。但是,现在因子的排序方式与原始数据中的排序方式不同。“有办法解决吗?”威尔不确定?也许可以创建一个可复制的示例,并将其作为新问题发布。谢谢!我解决了我的问题,现在它运行得很好。但是,现在因子的排序方式与原始数据中的排序方式不同。“有办法解决吗?”威尔不确定?也许可以创建一个可复制的示例,并将其作为新问题发布。