首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从一个xts对象创建多个xts对象

如何从一个xts对象创建多个xts对象
EN

Stack Overflow用户
提问于 2019-02-18 04:27:36
回答 1查看 166关注 0票数 1

我已经从数据帧创建了一个'xts‘对象--数据帧是从'csv’文件中加载的。

“xts”对象看起来是这样的:-

代码语言:javascript
复制
            entitycode,usage
2016-01-01  1,16521
2016-01-01  2,6589
2016-01-02  1,16540
2016-01-02  2,6687
2016-01-03  1,16269
2016-01-03  2,6642

其中共有1462条记录-从2016年1月1日至2017年12月31日至2017年12月31日,每个实体编号1和2各有731条,每隔一天。

Entitycode 1&2指不同的区域,如'region1‘和’and 2‘。

有没有办法为实体代码1&2(或'region1‘和'region2')创建单独的'xts’对象(变量),每个实体代码都有731行,名称为“region1_xts”和“Regi1_xts”?

诚挚的问候

迪帕克

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-18 05:12:45

我建议使用split处理xts对象,从而生成xts对象的list

代码语言:javascript
复制
split(xts, xts$entitycode)
#$`1`
#           entitycode usage
#2016-01-01          1 16521
#2016-01-02          1 16540
#2016-01-03          1 16269
#
#$`2`
#           entitycode usage
#2016-01-01          2  6589
#2016-01-02          2  6687
#2016-01-03          2  6642

然后,您可以使用*apply系列的函数来轻松地操作不同的list元素(即xts对象)。

样本数据

代码语言:javascript
复制
df <- read.csv(text =
    "      date,entitycode,usage
2016-01-01,  1,16521
2016-01-01,  2,6589
2016-01-02,  1,16540
2016-01-02,  2,6687
2016-01-03,  1,16269
2016-01-03,  2,6642", header = T)

mat <- as.matrix(df[, -1])
rownames(mat) <- df[, 1]
colnames(mat) <- colnames(df)[-1]

xts <- as.xts(mat)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54740489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档