【发布时间】:2015-09-17 20:22:45
【问题描述】:
如果我有这样的数据集
set.seed(100)
data <- data.frame("x" = c(1, 1, 1, 2, 2, 2, 3, 4, 4, 4, 5, 5, 5),
"y" = rnorm(13),
"factor" = c("a","b","c","a","b", "c", "c", "a",
"b", "c", "a", "b","c"))
看起来像这样
x y factor
1 1 -0.50219235 a
2 1 0.13153117 b
3 1 -0.07891709 c
4 2 0.88678481 a
5 2 0.11697127 b
6 2 0.31863009 c
7 3 -0.58179068 c
8 4 0.71453271 a
9 4 -0.82525943 b
10 4 -0.35986213 c
11 5 0.08988614 a
12 5 0.09627446 b
13 5 -0.20163395 c
我想用一个单独的平滑器来绘制这个每个因子 (a,b,c)
library(ggplot2)
ggplot(data = data, aes(x = x, y = y, col = factor)) +
geom_smooth(aes(group = factor))
但是,由于 x = 3 的“a”和“b”没有值,所以我希望“a”和“b”的平滑器在 x = 3 时有一个休息。什么是最好的策略做到了吗?
【问题讨论】:
-
“休息一下”是什么意思?