我已经成功地删除了一堆我现在想在R中操作的表。我是R的新手,但这似乎是一个很好的解决方法。
我目前将数据存储在条形分隔的CSV中,看起来像这样:
FIRST|LAST|9812036311|string-string|1999-07-06 00:00:00|2000-07-06 00:00:00|12345|1999-07-27 00:00:00|2,518.50
我可以用以下内容阅读:
j <- read.table('my_data.csv', header = FALSE, sep = "|")
但是......如何将这些日期列转换为R可以读取的日期?
我是否需要先定义一个框架?
答案 0 :(得分:2)
答案 1 :(得分:1)
要像你一样转换日期时间字符串,我建议使用 结构 功能,如下所示:
> # begin with date-time values stored as character vectors ("strings"):
> w
[1] "2000-07-06 00:00:00"
> typeof(w)
[1] "character"
> class(w)
[1] "character"
> # use structure to convert them
> w = structure(w, class=c("POSIXt, POSIXct"))
> # verify that they are indeed R-recognizable date-time objects:
> w
[1] "2000-07-06 00:00:00"
attr(,"class")
[1] "POSIXt, POSIXct"
w / r / t机制:R函数是矢量化的,所以你可以传入一列日期并将结果绑定到同一列,如下所示:
> j$day
[1] 1353967580 1353967581 1353967583 1353967584 1353967585 1353967586
[7] 1353967587 1353967588 1353967589 1353967590
> j$day = structure(day, class=c("POSIXt", "POSIXct"))
> day
[1] "2012-11-26 14:06:20 PST" "2012-11-26 14:06:21 PST" "2012-11-26 14:06:22 PST"
[4] "2012-11-26 14:06:23 PST" "2012-11-26 14:06:24 PST" "2012-11-26 14:06:25 PST"
[7] "2012-11-26 14:06:26 PST" "2012-11-26 14:06:28 PST" "2012-11-26 14:06:29 PST"
[10] "2012-11-26 14:06:30 PST"
答案 2 :(得分:0)
事实证明我只需要as.Date
- 作为一个完整性检查,我创建了一个带有修改日期的新列。
j$better.date <- as.Date(j$original.date, format="%Y-%d-%m")