首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中多标签数据的并排箱图?

R中多标签数据的并排箱图?
EN

Stack Overflow用户
提问于 2021-05-16 18:36:29
回答 1查看 40关注 0票数 0

我正在对goodreads_score和三个布尔自变量之间的关系进行探索性数据分析:fictionbest_sellerenglish

代码语言:javascript
复制
set.seed(1)
N <- 100
p <- rep(0.5, N)
id <- c(1, N)
fiction <- factor(rbinom(length(p), 1, p))
best_seller <- factor(rbinom(length(p), 1, p))
english <- factor(rbinom(length(p), 1, p))
goodreads_score <- runif(100, 0, 5) 

df <- data.frame(id, fiction, best_seller, english, goodreads_score)

我知道如何绘制一个自变量的箱线图:

代码语言:javascript
复制
ggplot(df, aes(x=fiction, y=goodreads_score)) + 
  geom_boxplot(colour = "#3366FF", outlier.shape = NA) + 
  geom_jitter(position=position_jitter(width=.1, height=0.1))

我想知道我是否可以将所有三个标签放在一个图中(具有三个并排的组)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-17 22:59:06

这可能会满足您的需求:

代码语言:javascript
复制
df2 <- tidyr::gather(df, key = category, value = value, 
                     fiction:english, factor_key = TRUE )

ggplot(df2, aes(x=value, y=goodreads_score)) + 
  geom_boxplot(colour = "#3366FF", outlier.shape = NA) + 
  geom_jitter(position=position_jitter(width=.1, height=0.1)) +
  facet_wrap(~category, scale="free")

另一方面,如果您正在寻找基于指标值的所有类别的分组,则可以执行以下操作:

代码语言:javascript
复制
df2 <- tidyr::gather(df, key = category, value = value, 
                     fiction:english, factor_key = TRUE )

df2$cat_value <- paste0(df2$category,":",df2$value)
df2$cat_value <- factor(df2$cat_value , 
                        levels=c("fiction:0", "best_seller:0", "english:0",
                                 "fiction:1", "best_seller:1", "english:1"))

ggplot(df2, aes(x=cat_value, y=goodreads_score)) + 
  geom_boxplot(colour = "#3366FF", outlier.shape = NA) + 
  geom_jitter(position=position_jitter(width=.1, height=0.1)) +
  geom_vline(xintercept = 3.5, color = "red", linetype = "dashed", size = 1.4)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67555608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档