首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从rolling_origin R嵌套列表中提取元素

从rolling_origin R嵌套列表中提取元素
EN

Stack Overflow用户
提问于 2021-11-05 07:33:12
回答 1查看 50关注 0票数 0

我想提取,.metrics (RMSE)从滚动起源预测重采样(tibble: 52x5)由"id“列,其中包括切片。

复制代码如下所示。这是我的尝试。

代码语言:javascript
复制
metric <- resamples_fitted$.resample_results
metric

代码语言:javascript
复制
all <- metric[[1]][[".metrics"]]
res <- unlist(all)
estimate <- res[ grepl(".estimate", names(res))]

我想通过数据帧中的“片”来获取".estimate“。对于每个切片,将有一个RMSE。这些是完整的代码

代码语言:javascript
复制
library(tidymodels)
library(modeltime)
library(modeltime.resample)
library(tidyverse)
library(timetk)
library(resample)

resample_spec <- rolling_origin(
  data        = m750,
  initial    = 200,
  assess     = 3,
  cumulative = TRUE,
  skip       = 1,
  overlap    = 0 )



resamples_fitted <- m750_models %>%
  modeltime_fit_resamples(
    resamples = resample_spec,
    control   = control_resamples(verbose = FALSE)
  )

resamples_fitted

metric <- resamples_fitted$.resample_results
metric
all <- metric[[1]][[".metrics"]]

res <- unlist(all)
estimate <- res[ grepl(".estimate", names(res))]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-05 14:26:55

花了一段时间后,我找到了一个解决方案,虽然可能不是很优雅,但它解决了这个问题。

代码语言:javascript
复制
metric <- resamples_fitted$.resample_results
metric
all <- metric[[1]][[ ".metrics"]]

res <- unlist(all)
estimate <- res[ grepl(".estimate", names(res))]
typeof(estimate)

dat <- as.data.frame(sapply(estimate, as.numeric)) 

data <- dat[complete.cases(dat), ]

all_id <- data.frame(metric[[1]]$id)
al <- cbind(all_id,data)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69849833

复制
相关文章

相似问题

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