2017-02-07 42 views
1

私は2つのカテゴリに基づいて散布図を作成し、同じIDのドットを線で結びつけようとしています。サンプルデータセットを作成しました。私は、x軸、y軸になるようにスコアを設定し、各値のスタディに異なる色を付けることを望みます。私が示したようにggplotでこれを行うことができますが、同じIDから来たドットをどのように接続するかを理解することはできません。例えばggplotの同じIDの値を結ぶ線でカテゴリ別に散布図を作成

library(ggplot2) 
Id <- c(1,2,3,4,1,3) 
Score <- c(24,27,17,25,28,24) 
Study <- c(1,1,1,2,2,2) 
days <- c(8,17,42,36,69,80) 

X <- as.data.frame(cbind(Id, Score, Study, days)) 

ggplot(X, aes(days, Score)) + 
geom_jitter(width = 0.3, height = 0.3, aes(colour = as.factor(Study))) + 
geom_segment(aes(x=42, y=17, xend=80, yend=24), lty=2, colour="purple") + 
geom_segment(aes(x=8, y=24, xend=69, yend=28), lty=2, colour="purple") 

enter image description here

私は注意geom_segmentでこれらを追加した24と28のID 1の値とし、また17のID 3の値から24へのラインがあるようにたい、実際のデータセットでは、私は彼らが100の接続となるように作業しています。私はあなたの助けに感謝します、ありがとう!

+0

わかりやすい再現可能な例、明確な問題文、および試行された解決策! – Gregor

答えて

2

は美的groupを使用:

ggplot(X, aes(days, Score)) + 
    geom_jitter(width = 0.3, height = 0.3, aes(colour = as.factor(Study))) + 
    geom_line(aes(group = Id), lty = 2, colour = "purple") 

?geom_lineの説明から:

group美的互いに接続されている場合を判断します。

+0

それは素晴らしい作品です、そしてとてもシンプルです。本当にありがとう、本当にありがとう! –

関連する問題