所以我有这样的数据
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,而不是改变整个数据帧。
答案 0 :(得分:2)
这是对的:
data[-1,]
data$Time - 1
但是,正如你所说,它会返回一个新的数据框;它不会改变你已有的东西。因此,您只需将结果分配回data
:
data <- data[-1,]
data$Time <- data$Time - 1
为了更好地理解,您可以在没有第一行的情况下newData <- data[-1,]
创建新的数据框。如果要转换原始数据框,则需要重新分配它data <- ...
。对于列或行也是如此,您需要执行data$column <- ...
。