我在R中使用read.table方法从excel中读取了一个文件。我想将DATE列的格式从m / d / yyyy转换为yyyy-mm-dd格式。
DATE列的类是字符,因此使用转换为DATE as.Date(sp500 $ Date)。
数据:
sam 565 656
ram 7565 5686
sam 789 5658
输出:
> head(sp500)
Date Adj.Close
1 7/1/2019 2964.33
2 6/28/2019 2941.76
3 6/27/2019 2924.92
4 6/26/2019 2913.78
5 6/25/2019 2917.38
6 6/24/2019 2945.35
sp500$Date <- as.Date(sp500$Date, format='%m/%d/%y')
在输出中,我预计日期为“ 2019-07-01”,但实际输出为“ 2020-07-01”
如何在R中获得预期的DATE格式?
答案 0 :(得分:0)
这是一个非常基本的问题,%y
和%Y
之间是有区别的-使用%y
时,它会读取前两个字符,然后停止,请运行以下命令查看区别:
X <- "07/07/2019"
as.Date(X, "%d/%m/%Y") # four-digit year
as.Date(X, "%d/%m/%y") # two-digit year
答案 1 :(得分:0)
尝试lubridate,它会检测格式
library(lubridate)
dmy(sp500$Date) #means day then month then year