在ggplot2中添加趋势线/箱图(按组)

时间:2010-05-03 20:13:21

标签: r plot ggplot2

我有40个科目,两组,超过15周,有一些测量变量(Y)。

我希望有一个情节:x =时间,y = T,线条按主题划分,颜色按组划分。

我发现它可以这样做:

TIME <- paste("week",5:20)
ID <- 1:40
GROUP <- sample(c("a","b"),length(ID), replace = T)
group.id <- data.frame(GROUP, ID)
a <- expand.grid(TIME, ID)
colnames(a) <-c("TIME", "ID")
group.id.time <- merge(a, group.id)
Y <- rnorm(dim(group.id.time)[1], mean = ifelse(group.id.time$GROUP =="a",1,3) )
DATA <- cbind(group.id.time, Y)
qplot(data = DATA,
        x=TIME, y=Y, 
        group=ID,       
        geom = c("line"),colour = GROUP) 

但是现在我想在情节中添加一些东西来显示两组之间的差异(例如,每组的趋势线,有一些CI阴影线) - 怎么办呢?

我记得曾经看过ggplot2可以(轻松地)使用geom_smooth来做到这一点,但是我错过了一些关于如何使它工作的东西。

另外,我想知道这些线可能就像每个组的箱线图一样(带有不同分位数和围栏的线等等)。但我想回答第一个问题可以帮助我解决第二个问题。

感谢。

1 个答案:

答案 0 :(得分:16)

p <- ggplot(data=DATA, aes(x=TIME, y=Y, group=ID)) +
            geom_line(aes(colour=GROUP)) +
            geom_smooth(aes(group=GROUP))

geom_smooth plot http://img143.imageshack.us/img143/7678/geomsmooth.png