0
您好我有以下的列的一天內的數據表:[R data.table轉換價格收益率的標準
date, stock_id, timestamp, price
首先,我添加鍵正確訂購:
setkeyv(my_table, c('stock_id','date','timestamp'))
的數據看起來像:
date timestamp stock_id price
2011-01-04 1.294128e+12 7 3402.0
2011-01-04 1.294129e+12 7 3402.5
2011-01-04 1.294129e+12 7 3407.5
現在我想將stock_price轉換爲返回和日誌返回。
你能指點一個高效/優雅的方式在R和data.table分組中做到這一點,而不訴諸循環嗎?
事先非常感謝,我很新的R.
它現在工作後更改爲:dt [,logret:= c(NA,diff(log(stock_price))),by = list(stock_id,date)]謝謝大家的幫助。非常優雅和快速的解決方案。這就是爲什麼R很棒! – user1480926 2012-07-06 14:55:34
@Matt Dowle的未經修改的代碼爲我工作。 – kalu 2016-07-18 17:48:28