【发布时间】:2020-10-23 16:45:53
【问题描述】:
我对 as.date 函数有疑问。 我在 excel 中有一个正常日期显示列表,但是当我在 R 中导入它时,它变成了数字,比如 33584。我知道它从特定日期开始计算。我想以“dd-mm-yy”的形式设置我的日期。
原始数据为: how the "date" variable looks like in r
我试过了:
as.date <- function(x, origin = getOption(date.origin)){
origin <- ifelse(is.null(origin), "1900-01-01", origin)
as.Date(date, origin)
}
也很简单
as.Date(43324, origin = "1900-01-01")
但它们都不起作用。它显示错误:不知道如何转换'。'到“日期”类
谢谢你们!
【问题讨论】:
-
(1)
ifelse在这里是错误的,使用if (is.null(origin)) origin <- "1900-01-01"。 (2) 我没有收到该代码的错误。 -
顺便说一句,处理空源的另一种方法是
function(x, origin = getOption(date.origin, "1900-01-01")) -
@r2evans,谢谢,这有帮助!但是我在将日期数字列表转换为正常日期格式时也遇到了麻烦。就像我有一个包含 100 个日期的“mydate”变量,我想将它们全部转换,但我不知道应该在何时何地引入日期来源。
-
如果没有样本数据,我就无能为力了。请使用
dput(..)或data.frame(..)提供样本数据;使问题完整和可重复的良好参考:stackoverflow.com/q/5963269、minimal reproducible example 和 stackoverflow.com/tags/r/info。
标签: r