在 R 中将数据类型从因子更改为日期

Change data type from Factors to Date in R

我正在从 sql 中提取数据,其中一个字段是日期类型,但出于某种原因 R 将此数据识别为因子。

这就是 R 识别这个字段的方式:

 $ RegDate    : Factor w/ 666 levels "2015-02-02","2015-02-03",..: 1 1 1 1 1 1 1 1 2 2 ...

我尝试了几种更改类型的方法,例如

as.Date(RawDate$RegDate, format = "%m/%d/%Y %H:%M:%S") - 没有任何改变

as.POSIXct(x,format="%Y-%m-%d) - 当我使用这种函数时我得到了所有的 NA

知道我应该怎么做吗? 谢谢

这是一个 format 问题。 'RegDate' 的格式已经与 Date class 相同。所以,我们需要的只是用 as.Date

包装
RawDate$RegDate <- as.Date(RawDate$RegDate)

它被读取为 factor 变量的原因是因为 read.csv/read.tablecharacter 元素的默认选项 stringsAsFactors=TRUE 或来自您使用的任何函数。一种方法是在 read.csv/read.table

中指定 colClasses 参数