0

良い一日、

xyplot()を使用してスパゲッティプロットを作成しています...各subject_identifierについて、時間の経過とともにYのスコアをプロットします。

xyplot(Y~time,groups=subject_identifier,data=c,type=c('l'))

イベントは、subject_identifierごとに、指定された時間event_timeに発生します。各個人のevent_timeで各行にチェックマークまたはドットを作成するにはどうすればよいですか?

ありがとう

4

1 に答える 1

1

event_times が vector であり、 がこれらのインデックスと順番に並ぶevent_times <- c(5,3,6,8)ことが予想される場合、グループを event_times へのインデックスとして使用できます。これは、パネル引数の x および y のインデックスになります。groups

xyplot(Y~time,groups=subject_identifier,data=cdat,
              panel=function(x,y,groups,...){
                panel.xyplot(x,y,groups=groups,...)
                panel.segments(x0=x[(grp-1)*10+event_times[grp]],
                               x1=x[(grp-1)*10+event_times[grp]], 
                               y0=y[(grp-1)*10+event_times[grp]]-.2,
                             y1=y[(grp-1)*10+event_times[grp]]+.2, groups=groups,...)},
       type=c('l'))

したがって、最初のグループは time=5 でティックされ、2 番目のグループは time=3 でティックされます。(group-1)*10を使用したよりクリーンなアプローチがあるかもしれませんが、相殺する必要がありますpanel.superpose。もちろん、ティックの他のオプションも可能ですが、問題のプレゼンテーションはかなり曖昧です。

ここに画像の説明を入力

于 2012-06-13T21:15:32.157 に答える