如何从R语言rolling_origin滚动重采样嵌套列表中按slice提取RMSE指标
代码调整方案
你可以通过tidyr自带的unnest()函数直接展开嵌套列,自动关联slice id和对应RMSE指标,无需手动解析列表,调整后的提取代码如下:
# 提取按slice分组的RMSE结果 rmse_by_slice <- resamples_fitted %>% # 展开嵌套的重采样结果列 unnest(.resample_results) %>% # 展开指标列得到结构化的指标数据 unnest(.metrics) %>% # 筛选仅保留RMSE指标 filter(.metric == "rmse") %>% # 按需保留字段,可自行调整 select(id, .estimate) %>% # 可选:重命名列提升可读性 rename(slice_id = id, rmse_value = .estimate)
你原来的代码仅提取了第一个重采样结果的指标值,没有关联对应的slice id,用上述方法可以自动维护id和指标的对应关系,不会出现匹配错位的问题,最终输出的rmse_by_slice就是每个slice对应一行RMSE结果的标准数据框。
内容的提问来源于stack exchange,提问作者shafi Q
相关产品推荐
相关产品推荐

