R: SQL 转换为旋转的 xts 对象
R: SQL into pivoted xts object
一个简单的查询returns 3 列:工具、日期、价格
数据如下:
library("xts")
dta = data.frame(
sample(x=c("a", "b", "c", "d", "e", "f"), size=367, replace=TRUE),
c(as.Date('2016-01-01') + 0:366),
c(0:366))
names(dta) <- c("instr", "date", "price")
我想要的是一个旋转的 xts 对象,如下所示:
"a" "b" "c" "d" "e" "f"
2016-01-01 1 NA NA NA NA NA
2016-01-02 NA 2 NA NA NA NA
2016-01-03 3 NA NA NA NA NA
2016-01-04 NA NA NA NA 4 NA
...
我正在考虑将数据拆分为 "instrument"-向量:
list_of_instr_vectors <- split(dta, dta$instr)
将列表的所有 data.frames 转换为 xts 对象和 merge.xts 那些。
也许从一开始就把 data.frame 变成 xts 会更简单:
xts_dta = as.xts(dta, order.by = dta$date)
然后对数据进行透视……但是怎么做呢?
我敢肯定,有一种简单的方法可以完成这项常见任务...但是怎么做呢?
感谢任何提示!
马可
将 read.zoo
与 split
参数一起使用:
z <- read.zoo(dta, split = 1, index = 2)
as.xts(z)
一个简单的查询returns 3 列:工具、日期、价格
数据如下:
library("xts")
dta = data.frame(
sample(x=c("a", "b", "c", "d", "e", "f"), size=367, replace=TRUE),
c(as.Date('2016-01-01') + 0:366),
c(0:366))
names(dta) <- c("instr", "date", "price")
我想要的是一个旋转的 xts 对象,如下所示:
"a" "b" "c" "d" "e" "f" 2016-01-01 1 NA NA NA NA NA 2016-01-02 NA 2 NA NA NA NA 2016-01-03 3 NA NA NA NA NA 2016-01-04 NA NA NA NA 4 NA ...
我正在考虑将数据拆分为 "instrument"-向量:
list_of_instr_vectors <- split(dta, dta$instr)
将列表的所有 data.frames 转换为 xts 对象和 merge.xts 那些。
也许从一开始就把 data.frame 变成 xts 会更简单:
xts_dta = as.xts(dta, order.by = dta$date)
然后对数据进行透视……但是怎么做呢?
我敢肯定,有一种简单的方法可以完成这项常见任务...但是怎么做呢?
感谢任何提示! 马可
将 read.zoo
与 split
参数一起使用:
z <- read.zoo(dta, split = 1, index = 2)
as.xts(z)