如何将R数据框中的列递增1?

时间:2014-03-05 02:48:08

标签: r

所以我有这样的数据

            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

我想将Time列中的值减1并删除第一行。

我已分别完成了这两个步骤 -

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,而不是改变整个数据帧。

1 个答案:

答案 0 :(得分:2)

这是对的:

data[-1,]
data$Time - 1

但是,正如你所说,它会返回一个新的数据框;它不会改变你已有的东西。因此,您只需将结果分配回data

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

为了更好地理解,您可以在没有第一行的情况下newData <- data[-1,] 创建新的数据框。如果要转换原始数据框,则需要重新分配它data <- ...。对于列或行也是如此,您需要执行data$column <- ...