问题描述
我有一个包含3列的数据集。一种是每月支出(y变量)。此变量中的每个值在两个不同的变量下分为1或0。
数据看起来像这样:
df_UP.q234_month_exp df_UP.LFT df_UP.LF
1 NA 0 1
2 NA 1 1
3 12000 1 1
4 NA 1 1
5 20000 1 1
6 NA 0 1
数据约有1200行。
我想要一个为'df_UP.LFT'的所有行都为1的'df_UP.q234_month_exp'创建一个箱型图作为y变量的图,并且在同一图中另一个箱型图具有相同的y变量,但是对于“ df_UP.LF”的所有行都是1。
如何使用ggplot2完成此操作?
解决方法
您可以尝试以下方法:
library(tidyverse)
#Data
df <- structure(list(df_UP.q234_month_exp = c(NA,NA,12000L,20000L,NA),df_UP.LFT = c(0L,1L,0L),df_UP.LF = c(1L,1L)),class = "data.frame",row.names = c("1","2","3","4","5","6"))
代码:
df %>% pivot_longer(cols = -df_UP.q234_month_exp) %>%
filter(value==1) %>% ggplot()+
geom_boxplot(aes(x = name,y = df_UP.q234_month_exp,color=name,group=name))
输出: