如何在ggplot2中区分个体和群体

时间:2015-10-26 23:54:39

标签: r ggplot2

我有面板数据,我希望使用ggplot2进行可视化,以便每个人都有自己的线条,其颜色反映了它所属的组。例如:

require(ggplot2)
set.seed(123)
frame <- data.frame(id = 1:6, month1 = sample(0:1, 6, replace = TRUE), month2 = sample(0:1, 6, replace = TRUE), month3 = sample(0:1, 6, replace = TRUE), group1 = rep(0:1, 3), group2 = rep(1:0, 3))
frame2 <- reshape(data = frame, direction = "long", idvar = "id", timevar = "time", varying = list(2:4))
ggplot(frame2, aes(x = time, y = month1, group = id, colour = id)) + geom_smooth()

在这个情节中,我希望group1的每个成员都是红色的,而gruop2的每个成员都是蓝色的,每个人都有自己的行。有关如何做到这一点的任何想法?谢谢。

1 个答案:

答案 0 :(得分:1)

你很亲密。如果在实际应用中Y轴变量是离散的,您可能会考虑抖动线。

ggplot(frame2, aes(x = time, y = month1, group = as.factor(id), 
       colour = as.factor(group2))) + geom_smooth()

enter image description here