Чтение значений в функции ts() R

Вопрос:

Я пытаюсь использовать функцию временных рядов в R ts(). Я читаю значение из файла aa csv и храню информацию в переменной nums Эта переменная имеет 329 значений, которые можно разбить на 47 групп по 7 (47 * 7 — 329). Я пытался создать объект time series object, выполнив следующие действия:

x <- ts(num, frequency = 47)

Однако значения, хранящиеся в x, сильно отличаются от значений, хранящихся в num. Я предоставил значения как для num и для x. Я хочу иметь те же значения в x что и в num, потому что я хочу прогнозировать вперед, используя функцию ts.

> nums
[1] 568   485   360   523   514   370   332   758   580   613   544   568   394
[14] 389   841   685   719   647   615   389   367   744   717   778   594   551
[27] 354   317   731   721   819   662   581   436   394   779   770   793   763
[40] 619   412   427   865   805   952   759   677   429   424   935   805   915
[53] 780   685   430   404   797   733   766   747   697   446   334   598   868
[66] 888   849   707   458   426   950   806   826   804   730   541   439   1,070
[79] 770   989   863   737   525   461   982   925   906   877   954   532   522
[92] 1,070 918   1,010 786   787   499   410   1,041 863   989   833   783   506
[105] 496   1,057 1,031 983   897   783   492   428   927   875   913   808   655
[118] 358   356   740   581   771   722   628   417   442   895   791   854   779
[131] 767   513   415   916   764   1,259 944   797   561   552   988   982   857
[144] 289   515   337   403   895   879   702   778   721   515   572   912   873
[157] 892   847   775   535   565   1,047 933   965   931   795   628   651   1,112
[170] 1,332 1,346 1,486 1,416 1,098 1,179 954   216   530   591   586   488   421
[183] 444   361   788   680   619   464   451   861   851   801   780   672   486
[196] 412   1,049 1,132 1,022 905   758   574   516   1,045 1,107 1,177 1,068 1,044
[209] 640   718   755   772   798   817   779   540   463   1,002 970   1,033 992
[222] 748   527   475   935   853   983   985   880   548   631   996   1,041 1,184
[235] 1,015 905   641   547   1,121 1,255 1,235 1,087 1,046 662   711   1,216 1,370
[248] 1,404 1,233 1,464 973   587   980   1,202 997   1,022 876   552   549   1,018
[261] 966   876   1,139 962   682   685   1,311 1,289 1,220 1,227 1,105 758   667
[274] 1,258 1,511 1,509 1,462 1,185 834   946   1,149 975   919   949   883   555
[287] 502   1,055 979   1,048 938   825   519   351   574   983   989   1,116 927
[300] 707   588   1,111 1,042 1,096 1,034 860   600   528   1,052 1,019 1,036 1,154
[313] 1,043 740   570   1,042 990   1,149 1,063 895   579   503   1,103 1,073 1,081
[326] 1,017 882   632   602


> x
Time Series:
Start = c(1, 1)
End = c(7, 47)
Frequency = 47
[1] 141 108  78 123 118  81  71 192 146 156 132 141  83  82 225 173 180 164 157  82
[21]  80 188 178 202 152 136  75  70 184 181 220 167 147  97  83 203 198 210 194 158
[41]  87  93 235 216 267 193 170  95  91 261 216 253 204 173  96  85 212 185 196 189
[61] 174 101  72 153 236 245 227 176 103  92 266 217 222 215 183 131  98  26 198 281
[81] 234 186 124 104 277 257 250 240 268 128 122  26 255   2 206 207 113  86  12 234
[101] 281 223 205 116 112  23   8 278 248 205 111  94 258 238 252 218 166  77  76 187
[121] 147 199 182 159  89  99 247 209 230 203 197 117  88 254 195  55 263 212 139 137
[141] 280 277 231  69 119  73  84 247 241 175 202 181 119 143 251 237 246 226 201 129
[161] 140  18 260 270 259 211 159 165  36  58  59  65  62  31  44 268  68 127 151 148
[181] 110  90 100  79 208 171 158 106 102 233 228 214 204 169 109  87  20  39   7 249
[201] 192 144 120  16  34  43  25  15 162 179 191 200 213 219 203 130 105   1 272   9
[221] 283 190 125 107 261 229 278 279 242 134 160 284  12  45   3 249 163 133  38  53
[241]  52  29  17 167 177  48  60  61  51  64 273 149 276  47 285   7 239 137 135   5
[261] 271 239  40 269 172 173  57  56  49  50  33 192 168  54  67  66  63  46 224 264
[281]  41 274 256 265 244 138 114  22 275  19 262 221 121  74 144 278 281  37 258 176
[301] 150  35  13  30  10 232 154 126  21   6  11  42  14 187 142  13 282  41  24 247
[321] 145 115  32  27  28   4 243 161 155
attr(,"levels")
[1] 1,002 1,010 1,015 1,017 1,018 1,019 1,022 1,031 1,033 1,034 1,036 1,041 1,042
[14] 1,043 1,044 1,045 1,046 1,047 1,048 1,049 1,052 1,055 1,057 1,063 1,068 1,070
[27] 1,073 1,081 1,087 1,096 1,098 1,103 1,105 1,107 1,111 1,112 1,116 1,121 1,132
[40] 1,139 1,149 1,154 1,177 1,179 1,184 1,185 1,202 1,216 1,220 1,227 1,233 1,235
[53] 1,255 1,258 1,259 1,289 1,311 1,332 1,346 1,370 1,404 1,416 1,462 1,464 1,486
[66] 1,509 1,511   216   289   317   332   334   337   351   354   356   358   360
[79]   361   367   370   389   394   403   404   410   412   415   417   421   424
[92]   426   427   428   429   430   436   439   442   444   446   451   458   461
[105]   463   464   475   485   486   488   492   496   499   502   503   506   513
[118]   514   515   516   519   522   523   525   527   528   530   532   535   540
[131]   541   544   547   548   549   551   552   555   561   565   568   570   572
[144]   574   579   580   581   586   587   588   591   594   598   600   602   613
[157]   615   619   628   631   632   640   641   647   651   655   662   667   672
[170]   677   680   682   685   697   702   707   711   717   718   719   721   722
[183]   730   731   733   737   740   744   747   748   755   758   759   763   764
[196]   766   767   770   771   772   775   778   779   780   783   786   787   788
[209]   791   793   795   797   798   801   804   805   806   808   817   819   825
[222]   826   833   834   841   847   849   851   853   854   857   860   861   863
[235]   865   868   873   875   876   877   879   880   882   883   888   892   895
[248]   897   905   906   912   913   915   916   918   919   925   927   931   933
[261]   935   938   944   946   949   950   952   954   962   965   966   970   973
[274]   975   979   980   982   983   985   988   989   990   992   996   997

Лучший ответ:

Проблема в том, что у вас есть запятые в ваших номерах. Вам нужно сделать преобразование с as.numeric после удаления запятых:

num <- gsub(",", "", nums) #Get rid of commas AND factor to character conversion
num <- as.numeric(nums) #character to numeric conversion

Ответ №1

Это должно сделать это:

  ts(as.numeric(gsub(',','.',num,fixed=TRUE)),frequency = 47)

Оцените статью
TechArks.Ru
Добавить комментарий