0

我正在尝试在 R 中使用时间序列函数ts()。我从一个 csv 文件中读取值,并将信息存储在一个名为nums该变量的变量中,该变量有 329 个值,可以分为 47 组,每组 7 个(47*7 - 329)。我试图time series object 通过以下方式创建一个:

x <- ts(num, frequency = 47)

但是,存储在中的值与存储在x中的值大不相同numnum我已经为和提供了值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
4

2 回答 2

3

问题是你的数字中有逗号。as.numeric删除逗号后,您需要进行转换:

num <- gsub(",", "", nums) #Get rid of commas AND factor to character conversion
num <- as.numeric(nums) #character to numeric conversion
于 2013-07-05T15:38:54.620 回答
1

这应该这样做:

  ts(as.numeric(gsub(',','.',num,fixed=TRUE)),frequency = 47)
于 2013-07-05T15:38:02.767 回答