r - 将日期更改为数字
问题描述
tsReturns = xts(x = returns, order.by = dates)
我有一个按日期排序的时间序列,如何将其更改为按数字(1-n)排序?第一天对应1,最后一天对应n。不要更改数据集值。
解决方案
1) xts 不支持纯数字索引。它需要几个日期或日期时间类之一;但是,可以使用 zoo 或 ts 实现纯数字索引。如果 x 是一个 xts 对象并且我们希望普通数字索引是从 1 到 nrow(x) 的连续数字,那么:
zoo(coredata(x))
ts(coredata(x))
2)如果改为:
- 第 i 行的所需索引是自第一个日期以来的天数加 1 和
- x 的索引是
Date
类和 - 日期不是连续的,而是唯一的,例如周末有间隔
那么这将为动物园提供一个不连续的索引。由于 ts 只能表示规则间隔的系列,因此下面的 ts 解决方案将使用 NA 填充输入中没有日期的值。
tt <- as.numeric(time(x))
z <- zoo(coredata(x), tt - tt[1] + 1)
as.ts(z)
推荐阅读
- javascript - 强制组中的每个选择具有唯一值
- java - jersey restful service如何与ejb集成?
- javascript - 石头,纸,剪刀游戏没有添加
- operator-keyword - 删除prometheus stateful set 重新创建自己
- reactjs - 在 React JS 中创建模块化企业应用程序
- python-3.x - ModuleNotFoundError:没有名为“溜冰者”的模块
- python - 为什么我的 numpy 数组没有保存我所有的字典数据?
- python - 在 Django ListView 中更新 get_queryset 后如何更改排序?
- spring-boot - 定义过滤器时@order 无效
- java - 如何创建由完成通量触发的 Mono