gpt4 book ai didi

r - 箱线图的颜色框因因子水平而异

转载 作者:行者123 更新时间:2023-12-01 23:56:29 24 4
gpt4 key购买 nike

我认为这将是一项直接的任务,但尽管搜索了 stackoverflow、文档和 R-help 文件,我仍无法找到答案。我需要能够根据因子值对箱线图的框进行不同的着色。

以下简化的示例显示了所需的结果:

df<-data.frame("Grp" = rep(LETTERS[1:5],each=20),"V" = rnorm(100),"F" = c(rep("a",80),rep("b",20)))
boxplot(V~Grp,df,col=c("red","red","red","red","blue"))

我需要做的是将 col=c(...) 替换为与“The colors of boxes having F="a" 等价的内容> 将为红色,具有 F="b" 的框的颜色将为蓝色"。在真实的数据中,当然有几个因素,还有更多的Grps等等。

任何想法将不胜感激。

谢谢。

最佳答案

使用 ggplot2 很容易做到这一点。我想不出一种直接的方法来处理基本图形。

我们的想法是在您的数据集中创建一个取决于因素的颜色变量。然后将其作为颜色属性传递给 ggplot:

df<-data.frame("Grp" = rep(LETTERS[1:5],each=20),"V" = rnorm(100),"F" =     c(rep("a",80),rep("b",20)))
df$boxcolor <- with(df, ifelse(F == "a", "red", "blue"))

library(ggplot2)
ggplot(df, aes(x = Grp, y = V, color = boxcolor)) + geom_boxplot()

在您的简单示例中,您可以直接将变量 F 作为颜色变量传递,让 ggplot 为您选择颜色。我不知道这是否会扩展到您更复杂的问题。

ggplot(df, aes(x = Grp, y = V, color = F)) + geom_boxplot()    

关于r - 箱线图的颜色框因因子水平而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23434422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com