這裏轉移被稱爲我的數據表「股票」:如何一列由每一行對應一個新的ID R中
TickerID Date Open Close
A 1/1/2013 42.1 43.4
A 1/2/2013 43.4 42.3
A 1/3/2013 42.3 44.1
AA 1/1/2013 28.7 28.9
AA 1/2/2013 28.9 28.4
AA 1/3/2013 28.4 29.1
AAA 1/1/2013 61.1 62.1
AAA 1/2/2013 62.1 63.5
AAA 1/3/2013 63.5 64.4
如何添加,允許每個TickerID到列目前明天開放&關閉值?我還需要有一個NA當TickerID沒有「下一個日期」 我想它看起來像這樣:
TickerID Date Open Close OpenTom CloseTom
A 1/1/2013 42.1 43.4 43.4 42.3
A 1/2/2013 43.4 42.3 42.3 44.1
A 1/3/2013 42.3 44.1 NA NA
AA 1/1/2013 28.7 28.9 28.9 28.9
AA 1/2/2013 28.9 28.4 28.4 29.1
AA 1/3/2013 28.4 29.1 NA NA
AAA 1/1/2013 61.1 62.1 62.1 63.5
AAA 1/2/2013 62.1 63.5 63.5 64.4
AAA 1/3/2013 63.5 64.4 NA NA
這裏是我想要的代碼:
for (i in 2:nrow(stock)){
if(stock[i,"TickerID"]==NYSE[i-1,"TickerID"]){
stock[i,"CloseTom"] <- stock[i+1,"Close"]
stock[i,"OpenTom"] <- stock[i+1,"Open"]
}
}
我怎樣才能加速這一代碼,這樣我就可以用它在300,000行?
注:我並不需要檢查,看看下一行是否有下一個日期,我知道這是真的