2012-05-11 5 views
0

私は以下のようにdata.frameを持っています。 rownamesは日付を識別し、列名はカテゴリ変数(アカウント)を識別します。カテゴリ変数を列と日付として1つのdata.frameから複数の時系列オブジェクトを作成する

カテゴリ変数の数が変わる可能性があることを念頭に置いて、各カテゴリ変数に別々の時系列オブジェクトを作成したいと思います(現在は5つですが、7,8,9 ...などがあります)。 )、開始日と終了日は異なる可能性があります(現在、各カテゴリ変数は期間全体に及んでいますが、必ずしもそうであるとは限りません)。

私はifループを試しましたが、tapply()は成功しませんでした。私は手動で目的の結果を達成することができますが、カテゴリ変数と日付の任意の数に対してスケーラブルなものを設計しようとしています。つまり、それぞれのサイズ/スパンに関係なく設計できます。

 A B C D E 
14975 130 23 1 5 53 
15006 125 22 3 8 45 
15034 112 20 4 6 44 
15065 110 21 2 7 48 
15095 122 53 10 17 60 
15126 133 42 12 18 65 
15156 121 46 9 16 59 
15187 127 47 11 19 63 
15218 95 24 13 46 66 
15248 105 29 14 35 61 
15279 93 25 15 33 61 
15309 107 64 35 149 62 
15340 81 55 26 131 67 
15371 80 43 36 134 71 
15400 88 49 41 130 86 
15431 95 51 40 132 86 
15461 87 48 39 135 90 
15492 103 57 33 139 97 
15522 108 58 38 129 97 
15553 109 71 32 138 92 
15584 104 68 34 126 84 
15614 102 70 37 123 75 
15645 97 68 39 124 76 
15675 117 90 56 136 99 
15706 111 89 30 140 96 
15737 119 94 28 140 98 
15765 128 97 31 137 98 
15796 129 79 27 143 106 
15826 113 74 50 146 100 
15857 118 85 53 142 98 
15887 120 85 50 145 91 
15918 113 77 52 141 101 
15949 115 74 55 144 95 
15979 115 83 54 148 73 
16010 116 78 47 147 72 
16040 114 82 56 150 69 
+1

をあなたが達成したいと考えて何の小さな例を与えることができますか? –

答えて

0

ベースグラフィックでは、forループがあなたの目的を達成します。ここではいくつかのデータがあります:

A<-round(rnorm(50,100,5)) 
B<-round(rnorm(50,10,5)) 
C<-round(rnorm(50,50,5)) 
t<-round(seq(1400,1500,length.out=50)) 
dat<-cbind(A,B,C) 
プロットを設定し

plot(t,A,ylim=c(0,150),type="n") 

行を追加します

for(i in 1:ncol(dat){ 
ts=lines(t,dat[,i]) 
} 
関連する問題