将数据帧列表转换为时间序列列表

BTtomio

程序包IMFdata返回数据帧列表。

例如:

library(IMFData)

databaseID <- "IFS"
startdate = "2019-01-01"
enddate = "2019-03-01"
checkquery = FALSE

queryfilter <- list(CL_FREQ = "M", CL_AREA_IFS = c("AU", "BR"), CL_INDICATOR_IFS = "FIDR_PA")
IFS_ex <- CompactDataMethod(databaseID, queryfilter, startdate, enddate, checkquery)

此代码创建数据框列表IFS_ex

structure(list(`@FREQ` = c("M", "M"), `@REF_AREA` = c("AU", "BR"
), `@INDICATOR` = c("FIDR_PA", "FIDR_PA"), `@UNIT_MULT` = c("0", 
"0"), `@TIME_FORMAT` = c("P1M", "P1M"), Obs = list(structure(list(
    `@TIME_PERIOD` = c("2019-01", "2019-02", "2019-03"), `@OBS_VALUE` = c("1.95", 
    "1.95", "1.9")), class = "data.frame", row.names = c(NA, 
3L)), structure(list(`@TIME_PERIOD` = c("2019-01", "2019-02", 
"2019-03"), `@OBS_VALUE` = c("6.41275285614977", "5.70499999999921", 
"6.18810104544945")), class = "data.frame", row.names = c(NA, 
3L)))), row.names = 1:2, class = "data.frame")

我想将此数据帧列表转换为时间序列(list_ts列表这是预期的输出:

list_ts <- list(AU = structure(c(1.95, 1.95, 1.90), .Tsp = c(2019, 2019.16666666667, 12), class = "ts"), BR = structure(c(6.41275285614977, 
5.70499999999921, 6.18810104544945), .Tsp = c(2019, 2019.16666666667, 
12), class = "ts"))
亚当

尝试使用运行它tidy = TRUE然后,您可以拆分数据框并将其应用于新列表。可以使用您显示的原始格式,但这需要做很多工作。

library(IMFData)
library(zoo)

databaseID <- "IFS"
startdate = "2019-01-01"
enddate = "2019-03-01"
checkquery = FALSE

IFS_ex <- CompactDataMethod(databaseID, queryfilter, startdate, enddate, checkquery,
                            tidy = TRUE)

lst_df <- split(IFS_ex, IFS_ex$`@REF_AREA`)

list_ts <- lapply(lst_df, function(x) ts(zoo(x$`@OBS_VALUE`, x$`@TIME_PERIOD`), start = c(2019, 1), frequency = 12))

# and to get rid of an attribute you do not want
list_ts <- lapply(list_ts, function(x) {attr(x, "index") <- NULL; x})

list_ts 
# $AU
#       Jan  Feb  Mar
# 2014 1.95 1.95 1.9 
# 
# $BR
#                   Jan              Feb              Mar
# 2014 6.41275285614977 5.70499999999921 6.18810104544945

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数据框列表转换为时间序列

来自分类Dev

如何将数据帧转换为时间序列?

来自分类Dev

在R中将数据帧转换为时间序列

来自分类Dev

在R中将数据帧转换为时间序列

来自分类Dev

将年/季度数据帧转换为时间序列

来自分类Dev

R:将年月数据帧转换为时间序列

来自分类Dev

熊猫将时间序列数据列转换为列表列?

来自分类Dev

将Pandas数据框转换为时间序列

来自分类Dev

将缺少日期的数据框转换为时间序列

来自分类Dev

将缺少日期的数据框转换为时间序列

来自分类Dev

将数据转换为时间序列的 Linq 查询

来自分类Dev

Python:将数据转换为时间序列

来自分类Dev

R初学者问题数据帧转换为时间序列

来自分类Dev

将时间序列转换为数据帧,矩阵或表

来自分类Dev

将数据帧转换为 R 中的时间序列

来自分类Dev

PySpark数据帧将异常的字符串格式转换为时间戳

来自分类Dev

R将日间刻度数据帧转换为时间戳

来自分类Dev

使用 set_index pandas 将数据报转换为时间序列

来自分类Dev

将变长元素列表转换为数据帧

来自分类Dev

将向量列表转换为R中的数据帧

来自分类Dev

说明:将lookupUser列表转换为单个数据帧

来自分类Dev

将Rdata列表转换为R中的数据帧

来自分类Dev

将嵌套列表(不等长)转换为数据帧

来自分类Dev

将残留输出从列表转换为R中的数据帧

来自分类Dev

将残留输出从列表转换为R中的数据帧

来自分类Dev

使用sqldf时将数据帧强制转换为列表

来自分类Dev

将向量列表转换为R中的数据帧

来自分类Dev

如何将数组列表转换为 Spark 数据帧

来自分类Dev

将列表从数据帧转换为 numpy 数组

Related 相关文章

热门标签

归档