当唯一点少于四个时,小提琴图不会像预期的那样显示预期的密度曲线
Violin plots don't show expected density curves as expected when unique points are less than four
背景
我正在用 ggplot2
玩箱形图和小提琴图,但我发现一些奇怪的现象,只有当唯一数据的数量少于四个时才会发生。我不太确定 SO 是否是这个线程的合适位置,如果不是,请引导我到正确的位置。
单个数据点:未渲染绘图
df <- data.frame(state = "bedtime", value = 100)
箱线图
ggplot(aes(x = state, y = value), data = df) + geom_boxplot() + geom_point()
小提琴情节
ggplot(aes(x = state, y = value), data = df) + geom_violin()
没有。收到一条警告消息。
两到三个数据点:有时会渲染图
如果不是,就像单数据点的情况。如果渲染,分位数线不一致。
df <- data.frame(state = rep("after_meal", 4), value = rep(c(178, 162), each = 2))
箱线图
ggplot(aes(x = state, y = value), data = df) + geom_boxplot() + geom_point()
小提琴情节
ggplot(aes(x = state, y = value), data = df) + geom_violin(draw_quantiles = c(0.25, 0.5, 0.75))
如您所见,分位数线彼此不一致。
问题
- 为什么只有一个数据点不显示小提琴图?我查了一下kernel density estimation, and I thought there should be a very wide but flat violin. Are there other limitations or constraint in
geom_violin
?还是小提琴情节的规律?
- 为什么在第二种情况下,25% 和 75% 的分位数放在箱形图和小提琴图之间的不同位置?
小提琴图是沿纵轴反映的密度估计图,与箱线图的不同之处在于箱线图显示数据本身。
关于你的第一个问题,一个点的密度是无限的,因为你在 space 中的一个特定点请求它,宽度为零,即无限高(要看到这个,替换 geom_violin
与 geom_density
.
第二个问题源于同一件事:箱形图对于少量点更准确,因为密度估计是连续的,并且对于非常短的范围没有明确定义。
背景
我正在用 ggplot2
玩箱形图和小提琴图,但我发现一些奇怪的现象,只有当唯一数据的数量少于四个时才会发生。我不太确定 SO 是否是这个线程的合适位置,如果不是,请引导我到正确的位置。
单个数据点:未渲染绘图
df <- data.frame(state = "bedtime", value = 100)
箱线图
ggplot(aes(x = state, y = value), data = df) + geom_boxplot() + geom_point()
小提琴情节
ggplot(aes(x = state, y = value), data = df) + geom_violin()
没有。收到一条警告消息。
两到三个数据点:有时会渲染图
如果不是,就像单数据点的情况。如果渲染,分位数线不一致。
df <- data.frame(state = rep("after_meal", 4), value = rep(c(178, 162), each = 2))
箱线图
ggplot(aes(x = state, y = value), data = df) + geom_boxplot() + geom_point()
小提琴情节
ggplot(aes(x = state, y = value), data = df) + geom_violin(draw_quantiles = c(0.25, 0.5, 0.75))
如您所见,分位数线彼此不一致。
问题
- 为什么只有一个数据点不显示小提琴图?我查了一下kernel density estimation, and I thought there should be a very wide but flat violin. Are there other limitations or constraint in
geom_violin
?还是小提琴情节的规律? - 为什么在第二种情况下,25% 和 75% 的分位数放在箱形图和小提琴图之间的不同位置?
小提琴图是沿纵轴反映的密度估计图,与箱线图的不同之处在于箱线图显示数据本身。
关于你的第一个问题,一个点的密度是无限的,因为你在 space 中的一个特定点请求它,宽度为零,即无限高(要看到这个,替换 geom_violin
与 geom_density
.
第二个问题源于同一件事:箱形图对于少量点更准确,因为密度估计是连续的,并且对于非常短的范围没有明确定义。