所以我有这样的数据
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,并删除第一行。
我已经分别完成了这两个步骤-
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的时间向量,而不是改变整个数据帧。
这是正确的:
data[-1,]
data$Time - 1
但是,正如您所说,它返回一个新的数据帧;它不会改变你已经拥有的东西。所以您只需要将结果分配回data
:
data <- data[-1,]
data$Time <- data$Time - 1
为了更好地理解,您可以执行newData <- data[-1,]
来创建一个不包含第一行的新数据帧。如果要转换原始数据帧,则需要将其重新指定为data <- ...
。列或行也是如此,您需要执行data$column <- ...
。