【问题标题】:Convert CSV with dates using lubridate使用 lubridate 转换带有日期的 CSV
【发布时间】:2015-04-25 10:12:05
【问题描述】:

我有一个 CSV 格式的数据集,它有两列:日期和值。文件中有数百行。文件中的日期格式为 YYYY-MM-DD。当我导入这个数据集时,日期列作为一个因素被导入,所以我不能在这两个变量之间运行回归。

我对 R 很陌生,但我知道 lubridate 可以帮助我转换 Date 列中的数据。有人可以就我应该使用什么命令提供一些建议吗?文件名为:Test.csv。

【问题讨论】:

  • ?base::as.Date

标签: r date csv lubridate


【解决方案1】:

下次请提供一些测试数据并展示你做了什么。有关变化,请参阅 ?as.Date?read.csv 。以下不使用任何包:

# test data
Lines <- "Date,Value
2000-01-01,12
2001-01-01,13"

# DF <- read.csv("myfile.csv")
DF <- read.csv(text = Lines)
DF$Date <- as.Date(DF$Date)
plot(Value ~ Date, DF, type = "o")

给予:

> DF
        Date Value
1 2000-01-01    12
2 2001-01-01    13

注意:由于您的数据是时间序列,您可能需要使用时间序列表示。在这种情况下read.zoo 自动将第一列转换为"Date" 类:

library(zoo)
# z <- read.zoo("myfile.csv", header = TRUE, sep = ",")
z <- read.zoo(text = Lines, header = TRUE, sep = ",")
plot(z)

【讨论】:

  • 另外,您可以在阅读时进行操作:read.csv(text=Lines,colClasses=c(Date="Date"))
  • @thelatemail:现在可行吗?它在过去不起作用。
  • @JoshuaUlrich - 确实如此。
  • 嗨。非常感谢。我刚刚使用了这个命令:library(zoo) read.zoo("Test.csv", header = TRUE, sep = ",")。该文件可以正常打开,但是当我在统计/拟合模型下选择线性模型选项时[我正在使用 R Commander];我仍然看到“日期”作为一个因素出现,所以我无法进行回归。我要处理的变量是能源效率;这是季节性的。运行回归背后的想法是查看时间 [日期] 和能源效率之间是否存在统计关系。
  • 答案包含一个完整的可重现示例,包括数据和代码,并且可以正常工作。你可能还有别的东西。您确实需要显示足够的数据以使问题可重现,并在发布问题时显示您尝试过的内容。这就是读者降低您的问题的原因。
猜你喜欢
  • 2012-12-09
  • 2013-05-31
  • 2022-11-30
  • 2017-09-02
  • 1970-01-01
  • 2021-07-10
  • 2019-04-10
  • 2018-05-31
  • 1970-01-01
相关资源
最近更新 更多