【问题标题】:Creating a Date Column in a data frame在数据框中创建日期列
【发布时间】:2016-06-16 20:46:17
【问题描述】:

这是代码:

data = read.csv('Report.csv', stringsAsFactors = FALSE, strip.white=TRUE, as.is = TRUE)
data = data.frame(Date = "2009-04-18", data)
data$Date = as.Date(data$Date, "%Y/%m/%d")

它不断给我 charToDate(x) 错误

(字符串不是标准的明确格式)。

我不知道出了什么问题。我的最终目标是在这个数据框中创建一个日期列。

【问题讨论】:

  • 使用zoo包读取csv文件怎么样? data <- read.zoo("Report.csv", sep = ',', tz = '', header = TRUE, format = '%Y/%m/%d')
  • 文件很乱。没有先前的日期列,我从其他列中提取它。这就是为什么我在阅读后尝试创建一个数据列。
  • 尝试更改为:data$Date = as.Date(data$Date, "%Y-%m-%d")
  • 重要编辑:当我手动运行代码时,逐块运行,它按预期工作。但我只在编织 HTML 时收到此错误消息。关于为什么的任何想法?
  • @sammuh: 你能创建一个最小的reproducible example

标签: r dataframe


【解决方案1】:

您的日期变量格式为YYYY-MM-DD,而不是YYYY/MM/DD。您试图告诉 R 您的日期变量的分隔符是 / 而不是 - (实际上是这样)。也就是说,这应该可以解决问题:

data$Date = as.Date(data$Date, "%Y-%m-%d")

【讨论】:

  • 如果您制作了一个可重现的示例,我们可能会更有用,我们不知道Report.csv 是什么样的。
  • 我附上了一张导入 csv 时的图片。我只是在这个数据框中添加一个日期列
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-23
  • 2019-04-27
  • 1970-01-01
  • 2023-03-18
  • 2021-01-15
  • 2018-12-04
  • 2020-02-23
相关资源
最近更新 更多