我有一天中道瓊斯工業平均指數的股票價格數據。下面是數據的樣本:Reshape2 dcast()函數返回錯誤的值
> head(df)
TS Sym Ask
1: 2015-03-24 14:00:00.000 YMM5 17956.00
2: 2015-03-24 14:00:00.002 AAPL 126.91
3: 2015-03-24 14:00:00.005 UNH 118.35
4: 2015-03-24 14:00:00.009 XOM 84.64
5: 2015-03-24 14:00:00.014 AXP 81.35
6: 2015-03-24 14:00:00.016 PG 84.19
我試圖使用reshape2的dcast()函數將數據轉換爲寬幅,所以它看起來像:
TS AAPL AXP PG UNH XOM
1: 2015-03-24 14:00:00.000 126.91 81.35 84.19 118.35 84.64
當我試試下面的命令集,雖然,這裏是我得到:
tick <- data.table(read.csv("2015-3-24.csv"))
df<- data.table(TS = tick$DateTime, Sym = tick$Symbol, Ask = tick$Ask, Bid = tick$Bid)
tmp <- dcast(data = df, formula = TS ~ Sym)
head(tmp)
TS AAPL AXP BA CAT CSCO CVX DD DIS GE GS HD IBM INTC JNJ JPM KO MCD MMM MRK MSFT NKE PFE PG TRV UNH UTX V VZ WMT XOM YMM5
1 2015-03-24 14:00:00.000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
2 2015-03-24 14:00:00.002 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
3 2015-03-24 14:00:00.005 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0
我知道我得到的公式錯了或什麼,但不管我有什麼儘管去嘗試,我得到了相同的結果。提前致謝。
'dcast'還有其他消息嗎? – Arun
是的''「聚合函數缺失,默認爲'length'''謝謝 –