【问题标题】:find rmse etc. of two different lists in r?在 r 中找到两个不同列表的 rmse 等?
【发布时间】:2021-10-19 13:25:32
【问题描述】:

我有两个不同的数据,它们由如下列表组成。我想计算obs和sim的每个元素之间的RMSE。

obs<-structure(list(Jan = structure(c(1.37, 0), .Names = c("v1", 
"v2")), Feb = structure(c(0, 0.29), .Names = c("v1", 
"v2")), Mar = structure(c(0, 0.25), .Names = c("v1", 
"v2"))), .Names = c("Jan", "Feb", "Mar"))

sim<-structure(list(Jan = structure(c(6.5, 0.5), .Names = c("v1", 
"v2")), Feb = structure(c(0, 5.5), .Names = c("v1", 
"v2")), Mar = structure(c(0.5, 0), .Names = c("v1", 
"v2"))), .Names = c("Jan", "Feb", "Mar"))

想要的输出如下:

library(Metrics)    
r1<-rmse(obs$Jan,sim$Jan)
    r2<-rmse(obs$Feb,sim$Feb)
    r3<-rmse(obs$Mar,sim$Mar)
    out<-list(r1,r2,r3)

【问题讨论】:

    标签: r list


    【解决方案1】:

    你可以这样做:

    Map(rmse, obs, sim)
    $Jan
    [1] 3.644647
    
    $Feb
    [1] 3.684026
    
    $Mar
    [1] 0.3952847
    

    【讨论】:

      【解决方案2】:

      我们也可以使用map2

      library(purrr)
      library(Metrics)
      map2_dbl(obs, sim, rmse)
      

      -输出

         Jan       Feb       Mar 
      3.6446468 3.6840263 0.3952847 
      

      【讨论】:

        猜你喜欢
        • 2018-08-07
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 2022-06-16
        • 2016-08-30
        • 1970-01-01
        • 1970-01-01
        • 2016-03-29
        相关资源
        最近更新 更多