r - R:将字符日期列表转换为给定来源的“天数”
问题描述
我需要生成一个列表作为 NetCDF 文件的时间维度附加。该文件是从许多文件中叠加而成的,这些文件是从 6 小时数据中生成的每月平均值。结果,每个 t 观察只是堆栈中文件的时间顺序值。
首先,我生成了一个日期序列,将其转换为字符,然后创建了一个日期对象,说明原点是感兴趣的原点。我的目标是接收“自 1850-01-01 以来的天数”的整数列表,但是,转换为整数后,我看到使用的原点仍然是 R 默认的“1970-01-01”。
我是使用这种“朱利安”方法的新手,我将不胜感激任何关于我应该使用什么方法的建议。
代码如下
dates <- seq(as.Date("1901-01-01"), by = "month", length.out = 12)
dates <- as.character(dates)
o <- as.Date("1850-01-01")
dates <- as.Date(dates, origin = o)
dates
dates <- as.numeric(dates)
解决方案
转换dates
为Date
类,减去o
并将其转换为数字:
as.numeric(as.Date(dates) - o)
## [1] 18627 18658 18686 18717 18747 18778 18808 18839 18870 18900 18931 18961
交替将两者都转换为数字:
as.numeric(as.Date(dates)) - as.numeric(o)
或使用difftime
as.numeric(difftime(as.Date(dates), o, unit = "day"))
推荐阅读
- excel - 我忘记了将文本更改为 URL 格式的 Excel 公式
- html - 运行代码后有时宏无法设置 htmldiv
- angular - 如何仅允许数字指令角度 9 的复制粘贴
- powershell - powershell - 在文件中匹配后删除 n 行
- php - 在php中构建rest中间件的最佳方法
- ansible - blockinfile 模块中的 jinja 变量替换
- json - 将具有多个嵌套值的字段从 JSON 导出到 CSV
- python - 获取熊猫数据框中不同值的最有效方法是什么?
- opc-ua - 是否有任何开源 OPC UA 服务器,我可以在其中添加和配置 FileType 的节点
- bash - BASH 脚本中的 PIPESTATUS[0]