当excel表在ArcGIS中作为xy点导入时,我继续丢失每个点的正确DateTime标记.因此,我已经格式化了DateTime序列号,创建了.shp,并使用readOGR()将.shp读入R中.
一旦在RI中可以使用as.Date()
和origin = "1899-12-30"
参数转换为正确的日期,但是时间被省略了.虽然我已经看到了具有唯一Date的示例,但我还没有看到DateTime的工作示例.我一直在使用as.Date()
,as.POSIXct()
但这个看似简单的任务有点令人沮丧,因此帖子......
我创建了一个样本数据集,其中包含10行正确的DateTime格式以及excel序列号.
*感谢Richard和thelatemail对早期障碍的敏锐关注.我已更正数据并在此处重新发布.
这是我的示例数据
helpData <- structure(list(ID = 1:10, DateTime = structure(c(9L, 1L, 2L,
3L, 4L, 5L, 6L, 7L, 8L, 8L), .Label = c("3/11/2011 7:55", "3/13/2011 7:55",
"3/14/2011 0:00", "3/14/2011 10:04", "3/14/2011 7:55", "3/15/2011 19:55",
"3/17/2011 7:55", "3/18/2011 4:04", "3/4/2011 6:00"), class = "factor"),
ExcelNum = c(40606.25, 40613.32986, 40615.32986, 40616, 40616.41944,
40616.32986, 40617.82986, 40619.32986, 40620.16944, 40620.16944
)), .Names = c("ID", "DateTime", "ExcelNum"), class = "data.frame", row.names = c(NA,
-10L)) …
Run Code Online (Sandbox Code Playgroud) 我正在加载一个 Excel 文件,其中有一列日期存储为整数(例如 43000 是 2017-09-22)。我尝试以这种方式应用这个问题的答案:
df = df %>%
mutate(date = as.Date(date, origin = "1899-12-30"))
Run Code Online (Sandbox Code Playgroud)
但我有以下错误:
Error in mutate_impl(.data, dots) : Evaluation error: character string is not in a
standard unambiguous format. Calls: (...)
Run Code Online (Sandbox Code Playgroud)
我搜索了这个问题,所有结果都是关于错误地指定字符串输入as.Date
,但在这种情况下输入是整数。