Rを使用して時間の経過に伴う分布をプロットする良い方法は何ですか?


8

私は約400人の個人とそれぞれ> 1万回のタイムポイント(シミュレーション結果)を持っています。これらは時間の経過とともに変化するので、監視できるようにしたいと考えています。すべての個人をプロットするのは面倒であり、平均値+ -sd、最小/最大値、または変位値をプロットすることは、私の好みには情報が少なすぎます。このタイプのデータを視覚化するために他の人が思いついたのは、どういうことかと思います。データポイントが少ない場合は、各タイムポイントにbeanplotsを使用しますが、それはそれほど多くのタイムポイントでは機能しません。


反復測定(個人レベルのクラスター内の値の分布)またはパネル結果(時間内の個人内の応答変数の関数)を調べることを考えていますか、それとも単に時間の関数として結果を調べていますか?Beanプロット(またはバイオリンプロット)はクラスタリングを無視しますが、時間的に離散している観測を視覚化するために使用できます。LOESSやスムージングスプラインなどの一般的なスムーザーを検討したことがありますか?
AdamO 2014年

@AdamO時間の経過に伴う結果の分布を見たいだけです。個人のネットワークを監視する方法として、個人レベルの統計(「活動レベル」)の分布がどのように変化するかに興味があります。個人のそれぞれが他のサブセットと相互作用しますが、これも時間とともに変化します。
Livid、2014年

スムーザーはそれを行うことができます。個々の統計を示すスパゲッティプロットではありませんが、時間の経過に伴う平均傾向を視覚化できます。
AdamO 2014年

@AdamO単純に各タイムステップの平均をプロットしてそれを確認できるため、平滑化の提案を理解していません。
Livid、2014年

1
@Glen_bボックスプロットを使用するのではなく、各タイムポイントで変位値を計算し、それらからtimeseriesを作成しますが、複雑な分布が予想されます。
Livid、2014年

回答:


1

私は次のような滑らかなものを使用するでしょう:

geom_smooth(method='loess')

または、私はあなたのデータをサブサンプリングし、5人ごとと10個のタイムステップごとにのみ(たとえば)プロットします。

library(ggplot2)    
# Data looks like:
#   Subject   Timestep  Y
#   1         1         0.5
#   1         2         0.6    
#   1         3         0.6
#   1         4         0.7
temp=subset(data, ((as.numeric(subject)%%5)==0) & ((as.numeric(Timestep)%%10)==0))
qplot(Timestep,Y,data=temp)

または両方。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.