R的数据框我在R中的以下数据帧:重新排列像一个Excel数据透视表
> str(x2)
'data.frame': 262064 obs. of 15 variables:
$ ykod : int 99 99 99 99 99 99 99 99 99 99 ...
$ yad : Factor w/ 38 levels "BAKUGAN","BARBIE",..: 2 2 2 2 2 2 2 2 2 2 ...
$ per : Factor w/ 3 levels "2 AYLIK","3 AYLIK",..: 3 3 3 3 3 3 3 3 3 3 ...
$ donem: int 201106 201106 201106 201106 201106 201106 201106 201106 201106 201106 ...
$ sayi : int 201106 201106 201106 201106 201106 201106 201106 201106 201106 201106 ...
$ mkod : int 359 361 362 363 366 849 850 1505 1506 1525 ...
$ mad : Factor w/ 9529 levels " Hilal Gida ",..: 4473 3322 9360 7169 9359 9290 8903 6057 6055 6620 ...
$ mtip : Factor w/ 27 levels "Abone Bürosu ",..: 18 18 18 18 18 2 2 10 10 2 ...
$ kanal: Factor w/ 2 levels "OB","SS": 2 2 2 2 2 2 2 1 1 2 ...
$ bkod : int 110006 110006 110006 110006 110006 110006 110006 110006 110006 110006 ...
$ bad : Factor w/ 208 levels "4. Levent","500 Evler",..: 25 25 25 25 25 25 25 25 25 25 ...
$ bolge: Factor w/ 12 levels "Adana Şehiriçi",..: 7 7 7 7 7 7 7 7 7 7 ...
$ sevk : int 5 2 2 2 10 4 3 13 32 4 ...
$ iade : int 0 2 1 2 4 3 2 0 8 4 ...
$ satis: int 5 0 1 0 6 1 1 13 24 0 ...
是否有可能重新像一个Excel数据透视表这个数据帧?例如,我要带ykod = 99
并创建一个新的行和列的新数据帧如下:
donem=201106 donem=201107 donem=201108
Row# mkod mad sevk iade satis sevk iade satis sevk iade satis
---- ---- --- ---- ----- ---- ---- ---- ---- ---- ----- ----
1 654 Abc 10 2 8 15 12 3 8 3 5
2 721 Def
.
.
4345
当然,在上面的例子中,列名应重新创建,例如,为201106_sevk
,201106_iade
,201106_satis
,等等。
我不认为这是数据处理应得的...以及这不用于正确的SQL查询。这仅用于数据显示,但对于进一步处理,您迟早会发现这不方便。我建议使用过滤来处理数据 - 比如'x2 [x2 $ donem == 201106,c('sevk','iade','satis')]'而不是试图让'donem = 201106'一列。然后,当您需要展示结果时,将它们导出到excel并在其中创建数据透视表。 – TMS
这个讨论http://stackoverflow.com/questions/6242106/excel-or-r-preparing-time-series-from-multiple-sources可能与Tomas T.的论点有些相关。不要指望在那里有解决方案,而应该掌握何时使用R何时使用Excel。也许它可以帮助你找到你的个人喜好... –