当我尝试按以下格式解析时间戳:"Thu Nov 8 15:41:45 2012"时,仅NA返回.
我使用的是Mac OS X,R 2.15.2和Rstudio 0.97.237.我操作系统的语言是荷兰语:我认为这与它有关.
当我尝试时strptime,NA返回:
var <- "Thu Nov 8 15:41:45 2012"
strptime(var, "%a %b %d %H:%M:%S %Y")
# [1] NA
Run Code Online (Sandbox Code Playgroud)
两者都as.POSIXct不起作用:
as.POSIXct(var, "%a %b %d %H:%M:%S %Y")
# [1] NA
Run Code Online (Sandbox Code Playgroud)
我也试过as.Date上面的字符串,但没有%H:%M:%S组件:
as.Date("Thu Nov 8 2012", "%a %b %d %Y")
# [1] NA
Run Code Online (Sandbox Code Playgroud)
我有什么想法可能做错了吗?
我的数据框中的一个列如下所示:
> head(df$col2,n = 50)
[1] "NA, 2015" "November 13, 2014" "September 27, 2014" "October 8, 2014" "December 16, 2013"
[6] "February 8, 2015" "November 2, 2014" "November 30, 2014" "February 18, 2015" "August 22, 2014"
[11] "October 26, 2014" "January 3, 2014" "May 5, 2015" "February 3, 2014" "October 15, 2014"
[16] "September 12, 2014" "April 2, 2014" "April 23, 2015" "November 4, 2014" "January 16, 2014"
[21] "September 28, 2014" "January 14, 2014" "February 13, 2014" "January 17, …Run Code Online (Sandbox Code Playgroud) 我有一个带有两种不同格式("%Y-%m-%d"和"%m/%d/%Y")日期的变量:
dput(df)
structure(1:8, .Label = c("2019-04-07", "2019-04-08", "2019-04-09",
"2019-04-10", "7/29/2019", "7/30/2019", "7/31/2019", "8/1/2019"
), class = "factor")
# [1] 2019-04-07 2019-04-08 2019-04-09 2019-04-10 7/29/2019 7/30/2019 7/31/2019 8/1/2019
# 8 Levels: 2019-04-07 2019-04-08 2019-04-09 2019-04-10 7/29/2019 7/30/2019 ... 8/1/2019
Run Code Online (Sandbox Code Playgroud)
我尝试使用as.Datewith解析日期tryFormats
df <- as.character(df)
d <- as.Date(df, tryFormats = c("%Y-%m-%d", "%m/%d/%Y"))
Run Code Online (Sandbox Code Playgroud)
它转换第一个格式结构,然后返回NA第二个格式结构。如果我分别运行这两种格式,它们看起来不错:
t1 <- as.Date(df, format = "%Y-%m-%d")
t2 <- as.Date(df, format = "%m/%d/%Y")
t1
# [1] "2019-04-07" "2019-04-08" "2019-04-09" "2019-04-10" NA
# …Run Code Online (Sandbox Code Playgroud) 我已将数据提取到需要合并的混合格式日期的数据框中。数据框的结构如下:
dateDF <- structure(list(id = 1:7, value = c(5813L, 8706L, 4049L, 5877L,
1375L, 2223L, 3423L), date = structure(c(4L, 3L, 2L, 1L, 7L,
6L, 5L), .Label = c("??:?? 05-Dec-11", "??:?? 06-Dec-11", "??:?? 07-Dec-11",
"??:?? 19-Dec-11", "30/12/2011 16:00", "30/12/2011 16:45", "31/12/2011 19:10"
), class = "factor")), .Names = c("id", "value", "date"), row.names = c(NA,
-7L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
我曾经dateDF$date <- str_replace(string=dateDF$date, pattern='\\?\\?\\:\\?\\? ', '12:00 ')生产过:
id value date
1 5813 12:00 19-Dec-11
2 8706 12:00 07-Dec-11
3 4049 12:00 06-Dec-11 …Run Code Online (Sandbox Code Playgroud) 我有一个 csv 文件,它的日期格式如下。
8/13/2016
8/13/2016
8/13/2016
2016-08-13T08:26:04Z
2016-08-13T14:30:23Z
8/13/2016
8/13/2016
Run Code Online (Sandbox Code Playgroud)
当我将其导入 R 时,它会将其作为一个字符。我想将其转换为日期格式,但是当我将其转换为日期格式时,它需要所有 NA 值
as.Date(df$create_date,format="%m%d%y")
Run Code Online (Sandbox Code Playgroud)
CSV 中的日期字段具有不同的日期记录格式。如何将其转换为 R 中的日期格式