【发布时间】:2016-11-16 01:01:23
【问题描述】:
我正在尝试使用 R 读取 csv 值 as.date。我的 csv 文件仅包含一列,其中列出的日期如下:
x
1 20010101
2 20010117
3 20010201
4 20010217
5 20010301
6 20010317
7 20010401
8 20010417
9 20010501
10 20010517
我使用的脚本是:
d <- read.csv("D:\\test.csv", header = TRUE, sep = "", stringsAsFactors = FALSE)
> str(d)
'data.frame': 345 obs. of 1 variable:
$ x: int 20010101 20010117 20010201 20010217 20010301 20010317 20010401 20010417 20010501 20010517 ...
date_EVI <- as.Date(paste(d$x), "%mm%dd%YYYY")
但是回报都是NA。
有什么建议吗?
【问题讨论】:
-
你可以试试
date_EVI <- as.Date(d$x, "%Y%m%d")。 -
并使用
as.character而不是paste,在这种情况下,最好使用强制类型的函数而不是更高级别的函数。 -
见
as.Date(更直接的见?strptime) -
@RHertel date 命令的常用格式,但我确实没有检查 R strptime,首先是错误的顺序。
-
感谢@Tensibai,as.character 解决了!