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
4

1 回答 1

1

在基本图形中,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])
}
于 2012-05-12T13:21:03.967 回答