R ggplot 只为不同的 x 值生成一个箱线图

R ggplot generates only one boxplot for different x values

我想用 ggplot 生成箱线图。我用以下代码生成了一个数据集:

names <- c(1,1,1,1,2,2,2,2,3,3,3,3)

data <- c(2,6,8,1,3,6,3,4,3,8,6,5)

frame <- data.frame(data, names)

我想在一个图表中为 names 中的每个值绘制一个箱线图。但是使用以下代码我只能得到一个箱线图:

ggplot(frame, aes(names,data)) + geom_boxplot()

我的错误是什么?

在这里你可以看到我得到的图表:

names转换为因数:

names <- factor(c(1,1,1,1,2,2,2,2,3,3,3,3))

只需要添加一行代码,将名称转换为因子,如@Stephane Laurent 所述。

frame$names <- as.factor(frame$names)