首页 > 解决方案 > 在 r 中找到两个不同列表的 rmse 等?

问题描述

我有两个不同的数据,它们由如下列表组成。我想计算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)

标签: rlist

解决方案


你可以简单地做:

Map(rmse, obs, sim)
$Jan
[1] 3.644647

$Feb
[1] 3.684026

$Mar
[1] 0.3952847

推荐阅读