2014-03-05 54 views
1

所以我有這樣如何將R數據框中的列增加1?

  Date DJIA Time 
1  1/1/96 5117.12 1 
2  1/2/96 5177.45 2 
3  1/3/96 5194.07 3 
4  1/4/96 5173.84 4 
5  1/5/96 5181.43 5 
6  1/8/96 5197.68 6 

我想1遞減的時間列中的值,並刪除第一行數據。

我已經取得了這兩個步驟separately-

data[-1,] 

消除第一行,而

data$Time - 1 

遞減,但返回我遞減列。

如何讓這個我得到這樣的

 Date DJIA Time 
1  1/2/96 5177.45 1 
2  1/3/96 5194.07 2 
3  1/4/96 5173.84 3 
4  1/5/96 5181.43 4 
5  1/8/96 5197.68 5 

我也試過

data[-1,]$Time - 1 

但這再次返回我只減1的時間向量,而不是改變整個數據幀。

+0

所以'data < - data [-1,]有什麼問題;數據$時間< - 數據$時間-1'? –

回答

2

這你有正確的:

data[-1,] 
data$Time - 1 

但是,正如你所說,它返回一個新的數據幀;它不會改變你已有的東西。所以,你只需要結果分配回data

data <- data[-1,] 
data$Time <- data$Time - 1 

爲了更好地瞭解,你可以做newData <- data[-1,]沒有第一行創建一個新的數據幀。如果你想改變你的原始數據幀,你需要重新分配它data <- ...。列或行也一樣,你需要做data$column <- ...

+0

但我得到的是一個矢量,而不是數據框? – praks5432

+0

ohhh沒有看到分配給列部分 – praks5432