R 用线图覆盖箱线图

R 用线图覆盖箱线图,r,ggplot2,R,Ggplot2,我有一些虚假数据,代表不同用户回答在线调查的回答时间。 数据集有三个变量:回答者(用户)的id、问题(问题)的名称和每个问题的回答时间(时间) n我认为最直接的方法是在调用geom\u line的过程中对数据进行子集 我将从一组不同的随机数据开始,因为问题中的样本数据并不包括用户的所有问题 set.seed(2021年) dat方法稍有不同。在数据中添加一列,指示突出显示的用户,并将该变量映射到geom\u line。使用scale\u color\u discrete(na.translat

我有一些虚假数据,代表不同用户回答在线调查的回答时间。 数据集有三个变量:回答者(用户)的id、问题(问题)的名称和每个问题的回答时间(时间)



n我认为最直接的方法是在调用
geom\u line
的过程中对数据进行子集

我将从一组不同的随机数据开始,因为问题中的样本数据并不包括用户的所有问题

set.seed(2021年)

dat方法稍有不同。在数据中添加一列,指示突出显示的用户,并将该变量映射到
geom\u line
。使用
scale\u color\u discrete(na.translate=FALSE)
仅为非na值着色

library(dplyr)
library(ggplot2)

pltSingleRespondent <- function(df, highlightUsers) {
  df %>% 
    mutate(User = factor(ifelse(user %in% highlightUsers, user, NA))) %>% 
    ggplot(aes(question, time)) +
    geom_boxplot(fill = "orange") +
    geom_line(aes(color = User, group = User)) + 
    ggtitle("Answering time per question") +
    scale_color_discrete(na.translate = FALSE) + 
    coord_flip() + 
    theme_bw()
}

pltSingleRespondent(dat, c(1, 34))