我正在尝试将以下日期/时间字符串转换为zoo对象:
2004:071:15:23:41.87250
2004:103:15:24:15.35931
同期:DOY:小时:分钟:秒
日期/时间字符串存储在没有标题的数据框中.R中最好的方法是什么?
干杯!
根据Gavin的回答编辑:
# read in time series from CSV file; each entry as described above
timeSeriesDates <- read.csv("timeseriesdates.csv", header = FALSE, sep = ",")
# convert to format that can be used as a zoo object
timeSeriesDatesZ <- as.POSIXct(timeSeriesDates$V1, format = "%Y:%j:%H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
以通常的方式读取R中的数据.您将拥有以下内容:
dats <- data.frame(times = c("2004:071:15:23:41.87250", "2004:103:15:24:15.35931"))
dats
Run Code Online (Sandbox Code Playgroud)
这些可以通过以下方式转换为其中一个POSIXt类:
dats <- transform(dats, as.POSIXct(times, format = "%Y:%j:%H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)
要么
data$times <- as.POSIXct(dats$times, format = "%Y:%j:%H:%M:%S"))
Run Code Online (Sandbox Code Playgroud)
然后可以在动物园对象中使用它.有关参数中?strftime使用的占位符的详细信息,请参阅format; 基本上%j是一年中的占位符.
为了做动物园比特,我们会做,使用一些虚拟数据作为实际的时间序列
ts <- rnorm(2) ## dummy data
require(zoo) ## load zoo
tsZoo <- zoo(ts, dats$times)
Run Code Online (Sandbox Code Playgroud)
最后一行给出:
> tsZoo
2004:071:15:23:41.87250 2004:103:15:24:15.35931
0.3503648 -0.2336064
Run Code Online (Sandbox Code Playgroud)
小数秒需要注意的一点是,i)使用浮点运算可能无法记录您的确切分数.此外,给定R中选项的值,R可能不会显示完整的小数秒; digits.secs.有关?options此特定选项以及如何更改它的更多信息,请参阅.
| 归档时间: |
|
| 查看次数: |
2953 次 |
| 最近记录: |