2016-04-13 27 views
7

私は、いくつかのデータポイントからなるデータをいくつかの個人に提供しています。すべての点をプロットし、各個人の95%の楕円を描きたいが、楕円を学習サイトで色付けする。残念ながら、サイトで色を指定すると、集約されたグループの楕円が描画されるようです。ggplot2グループごとに個別の楕円を描画しますが、グループごとに色を付けます。

データは次のようになります。

ggplot(ggdat) + 
    geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + # 
    stat_ellipse(aes(x=X, y=Y,color=indiv_id),type = "norm") 

individual ellipses

が、私はによって描く場合:私は個人によって楕円を描く場合は、私は別に楕円のすべてを見ることができます

dat1 <- data.frame(X=rnorm(21),Y=rnorm(21),indiv_id=rep(c(1,2,3),7),group_id=rep(1,21)) 
dat2 <- data.frame(X=rnorm(21,5),Y=rnorm(21,5),indiv_id=rep(c(4,5,6),7),group_id=rep(2,21)) 
dat3 <- data.frame(X=rnorm(21,10),Y=rnorm(21,10),indiv_id=rep(c(7,8,9),7),group_id=rep(3,21)) 
ggdat <- rbind(dat1,dat2,dat3) 
ggdat$indiv_id <- as.factor(ggdat$indiv_id) 
ggdat$group_id <- as.factor(ggdat$group_id) 

1グループあたり1つの楕円を作成します。

ggplot(ggdat) + 
    geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + # 
    stat_ellipse(aes(x=X, y=Y,color=group_id),type = "norm") + #, linetype = 2 
    theme(legend.position='none') 

group ellipses

どのように私はすべて9つの楕円を描くが、グループでそれらを色付けすることができますか?助けてくれてありがとう!

答えて

4

明示的にグループを定義:

ggplot(ggdat) + 
    geom_point(aes(x=X, y=Y,color=indiv_id),size=1) + # 
    stat_ellipse(aes(x=X, y=Y,color=group_id, group=indiv_id),type = "norm") + 
    theme(legend.position='none') 

enter image description here

関連する問題