我有一个数据框,我想在小提琴图中绘制,其中观察被分为两组之一:[va_AC == 1] or [va_AC > 1]
.
有没有办法在不向 df 添加新列来为其分配组的情况下做到这一点?
ggplot(df) +
geom.violin(aes(x=[va_AC == 1] or [va_AC > 1],
y=g_AD))
我有一个数据框,我想在小提琴图中绘制,其中观察被分为两组之一:[va_AC == 1] or [va_AC > 1]
.
有没有办法在不向 df 添加新列来为其分配组的情况下做到这一点?
ggplot(df) +
geom.violin(aes(x=[va_AC == 1] or [va_AC > 1],
y=g_AD))
如果您不想更改初始数据集,可以在管道工作流中进行,因此不会更改df
您环境中的对象。这里我case_when
用来选择拆分(虽然我相信还有很多其他的方式)。
#create reproducible data
df <- data.frame(va_AC = c(rep(1,20), runif(80, 1.0001, 100)),
g_AD = rnorm(100,25,5))
library(dplyr)
#combine in a pipe
df %>%
#create new grouped variable
mutate(split = case_when(
va_AC == 1 ~ "A",
va_AC > 1 ~ "B"
)) %>%
#plot as before
ggplot(.) +
geom_violin(aes(x = split, y = g_AD))