gpt4 book ai didi

r - R 中的 Excel 日期转换问题

转载 作者:行者123 更新时间:2023-12-04 19:47:34 25 4
gpt4 key购买 nike

从 R 中绘制 Excel 数据并转换为 R 中的日期时遇到问题。我有一个“time_period”列,它是从 Excel 中提取的,采用 5 位数字的 Excel 日期格式(例如 41640)。

> head(all$time_period)
[1] "41640" "41671" "41699" "41730" "41760" "41791"

这些数字最初是 chr 格式,所以我将它们更改为数字类型:

all[,3] <- lapply(all[,3], function(x) as.numeric(as.character(x)))

完成后,我运行以下命令来格式化日期:

all$time_period <-format(as.Date(all$time_period, "1899-12-30"), "%Y-%m-%d")

但是,一旦此操作完成,time_period 列都是相同的日期(大概是该列中的第一个日期)。

> head(all$time_period)
[1] "2014-01-01" "2014-01-01" "2014-01-01" "2014-01-01" "2014-01-01" "2014-01-01"

有什么建议吗?提前致谢。

最佳答案

as.Date()中设置origin参数

这些数字是指距原点的距离,这取决于创建 excel 文件的机器。

  • Windows:as.Date(my_date, origin = "1899-12-30")
  • Mac:as.Date(my_date, origin = "1904-01-01")

例如:

x <- c("41640","41671","41699","41730","41760","41791")
x <- as.numeric(x)
format(as.Date(x, "1899-12-30"), "%Y-%m-%d")

返回:

[1] "2014-01-01" "2014-02-01" "2014-03-01" "2014-04-01" "2014-05-01" "2014-06-01"

关于r - R 中的 Excel 日期转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50274405/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com