[英]Reformatting Data Frame in R
我正在嘗試重新格式化R中的數據框,該數據框具有根據股票代碼和日期顯示的股票收益數據列。 例:
ticker date returns
1 EWST 20060131 -0.016495
2 EWST 20060228 -0.010537
3 EWST 20060331 0.170394
4 EWST 20060428 -0.094631
5 EWST 20060531 -0.010452
6 EWST 20060630 -0.076387
7 EWST 20060731 0.157417
8 EWST 20060831 0.123574
9 EWST 20060929 -0.05417
10 EWST 20061031 0.007273
11 EWST 20061130 0.051444
12 EWST 20061229 -0.037294
13 EWST 20070131 0.023279
14 EWST 20070228 0.261621
15 EWST 20070330 0.019732
16 EWST 20070430 0.002764
17 EWST 20070531 0.043418
18 EWST 20070629 0.000667
19 EWST 20070731 -0.056667
20 EWST 20070831 0.027562
21 EWST 20070928 -0.032325
22 EWST 20071031 -0.040259
23 EWST 20071130 0.079401
24 EWST 20071231 -0.00393
25 EWST 20080131 -0.006082
26 EWST 20080229 0.021704
27 EWST 20080331 -0.052516
28 EWST 20080430 -0.036698
29 EWST 20080530 0.271628
30 EWST 20080630 -0.010092
31 EWST 20080731 -0.053023
32 EWST 20080829 -0.019724
33 EWST 20080930 -0.137374
34 EWST 20081031 -0.018824
35 EWST 20081128 -0.130121
36 EWST 20081231 0.155989
37 EWST 20090130 0.03414
38 EWST 20090227 0.056222
我該如何更改它,使其與所有日期匹配為行,所有股票代碼匹配為列,然后填寫適當的收益?
如果您的數據稱為DF
,請使用:
DF[order(DF$ticker, DF$date), ]
或者,使用data.table
包:
library(data.table)
DT <- data.table(DF, key=c("ticker", "date"))
您可以從reshape2
包中使用dcast
:
library(reshape2)
dcast(dat, date ~ ticker, value.var = "returns")
date EWST
1 20060131 -0.016495
2 20060228 -0.010537
3 20060331 0.170394
4 20060428 -0.094631
5 20060531 -0.010452
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.