我拥有一个包含 3 个测试标记的数据集。第一个测试是在实验之前完成的。第二个和第三个都做了之后的实验。我想说自从这个实验以来,学生的分数一直在以图形的方式提高。我为此选择了一个箱线图。使用它我会说每个测试中的最大值和最小值以及它们在实验后的改进。这是一个好方法吗?
问问题
121 次
2 回答
2
您的数据是纵向的。因此,最好显示个人随时间的变化。
多个箱线图忽略了随着时间的推移而发生的个别变化,并将每个时间点视为一个单独的且未连接的组。纵向线图可以显示数据中的更多信息。
考虑以下模拟数据。
set.seed(1)
x1 <- rnorm(30, mean=50, sd=20)
x2 <- x1+rnorm(30, mean=5, sd=10)
x3 <- x2+rnorm(30, mean=5, sd=5)
data <- data.frame(x1, x2, x3)
library(tidyverse)
data %>%
mutate(id=row_number()) %>%
pivot_longer(-id, names_prefix="x", names_to="time") %>%
ggplot(aes(y=value, x=time, group=id)) +
geom_point() +
geom_line() +
stat_summary(aes(group=1), fun=mean, geom="line",lwd=2, col=2)
data %>%
pivot_longer(everything(), names_prefix="x", names_to="time") %>%
ggplot(aes(y=value, x=time))+
geom_boxplot()
那些在第一次测试中得分不佳的人在第二次和第三次测试中仍然表现不佳,这是箱线图所遗漏的。
于 2020-04-16T09:16:03.000 回答
1
您可以使用箱线图来查看学生作为一个小组是否有进步。但是想象一下,好学生进步很多,中等学生变差,坏学生进步。箱线图将显示流派的学生有所提高,但您会错过实际上变得更糟的中等学生的信息。为此,您可以使用平行坐标图。GGally 包中有一个实现。对于 30 次观察,这仍然安排得很好。
于 2020-04-16T08:33:21.653 回答