2014-01-27 3 views
0

Я пытаюсь переформатировать кадр данных в R, который имеет столбцы данных возврата запаса в соответствии с тикером и датой. Пример:Reformatting Data Frame в 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 

Как я могу это изменить так, чтобы он соответствовал всем датам как строки и всем линеечки, как колонны и затем заполняет соответствующий ответ?

ответ

0

если данные называют DF, использование:

DF[order(DF$ticker, DF$date), ] 

В качестве альтернативы, используя data.table пакет:

library(data.table) 
DT <- data.table(DF, key=c("ticker", "date")) 
0

Вы можете использовать dcast из reshape2 пакета:

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 
... 
+0

Я получаю эту ошибку:> data2 = dcast (dat, date ~ ticker, value.var = "returns") Отсутствует функция агрегирования: по умолчанию длина – user3242036

+0

У меня есть несколько тикеров, но они охватывают одни и те же диапазоны дат. Я предполагаю, что это то, на что ссылается агрегация, но IDK, как ее исправить. – user3242036

+0

@ user3242036 У вас есть несколько значений для одной уникальной комбинации «date» и «ticker»? –

Смежные вопросы