【发布时间】:2019-04-13 03:07:35
【问题描述】:
我在 stackoverflow 上查找了以下代码,无法将 Excel 正确转换为 Date()。 dput() 显示来自 Excel 的输入日期。如何转换这些数字?
data.3$Date <- as.Date(as.numeric(data.3$Date), origin="1899-12-30")
z <- as.yearmon("39225",format="%Y%m")
dput(data.3$Date)
structure(c(-25545, -25551, -25529, -25521, -25545, -25522, -25544,
-25538, -25547, -25548, -25546, -25521, -25526, -25521, -25537,
【问题讨论】:
-
在 R 中,当我读取.xlsx() 时,我包含了 as.data.frame=TRUE。有问题的字段是 Date 字段,但在 data.frame 中它表现为 Factor:: str(data.5) 'data.frame': 1555 obs。 4 个变量:$ 日期:因子 w/ 139 个级别“2007 年 5 月 12 日”
-
从 str() data.frame 中,可以看出 $Date: Factor w/139 级别具有“2007 年 5 月 12 日”。所以在数据文件中我得到了数字,比如 41411 等。
-
当你读入数据框时,写
stringsAsFactors = FALSE很有帮助,然后日期(和所有其他字段)将显示为字符串。然后使用lubridate包中的as.Date将其转换为日期会容易得多 -
好的,我会做 stringsAsFactors...
-
这是一个 read.xlsx 是否在 read.xlsx 上可用 stringsAsFactors = FALSE?是的