如何在不使用库(Metrics)的情况下制作MAE和RAE的函数?

2024-02-23

我的目标是创建平均绝对误差(MAE)和相对绝对误差(RAE)的函数,而不使用任何类型的库,例如库(Metrics)。

我尝试在 MAE 和 RAE 的函数内输入公式

mae <- function(a, b)
{
    mean(abs(a, b))
}


rae <- function(a, b)
{
    abs(a,b )
}

然而,与下面的函数相比,这两个函数提供了不同的答案,

library(Metrics)
stats <- function(a,b)
    {
        mae <- mae(a,b)
        rae <- rmse(a,b)
    }

你的函数是错误的。您可以使用以下函数来计算mae and rae没有任何包装

x <- c(1.1, 1.9, 3.0, 4.4, 5.0, 5.6)
y <- c(0.9, 1.8, 2.5, 4.5, 5.0, 6.2)

mae1 <- function(x,y)
  {
  mean(abs(x-y))
  }

mae1(x, y)
#> [1] 0.25


rae1 <- function(x,y)
  {
  sum(abs(x-y))/sum(abs(x - mean(x)))
  }

rae1(x,y)
#> [1] 0.1666667

library(Metrics)
#> Warning: package 'Metrics' was built under R version 3.6.2

mae(x, y)
#> [1] 0.25
rae(x,y)
#> [1] 0.1666667

Created on 2019-12-27 by the reprex package https://reprex.tidyverse.org (v0.3.0)

它给出的输出与Metrics包裹。

Update

如果您的数据包含 NA,则上述函数以及包的函数Matrics, 将失败。在这种情况下使用以下代码

x <- c(1.1, 1.9, 3.0, 4.4, 5.0, 5.6, NA)
y <- c(0.9, 1.8, 2.5, 4.5, 5.0, 6.2, 2)

mae1 <- function(x,y, na.rm=TRUE)
  {
  mean(abs(x-y), na.rm=na.rm)
  }

mae1(x, y, na.rm=TRUE)
#> [1] 0.25


rae1 <- function(x,y, na.rm=TRUE)
  {
  sum(abs(x-y), na.rm=na.rm)/sum(abs(x - mean(x, na.rm=na.rm)), na.rm=na.rm)
  }

rae1(x,y, na.rm=TRUE)
#> [1] 0.1666667

library(Metrics)
#> Warning: package 'Metrics' was built under R version 3.6.2

mae(x, y)
#> [1] NA
rae(x,y)
#> [1] NA

Created on 2019-12-27 by the reprex package https://reprex.tidyverse.org (v0.3.0)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不使用库(Metrics)的情况下制作MAE和RAE的函数? 的相关文章

  • R 中的线性模型 - 乘法表达式

    我有 3 个数值变量A B and C 我正在尝试创建一个能够预测的线性模型A 我使用的表达式是B C为了预测A 然而 当查看输出时 我无法得到我的方程 因为我得到了额外的变量 但我不知道它是什么 这是我的代码 MyData lt read
  • 如何更新 R 中的包?

    我想将一个 R 包升级到已经可用的新版本 我试过 update packages c R2jags 但它什么也没做 控制台上没有输出 没有错误 什么也没有 我使用了相同的语法install packages但也许我做错了什么 我一直在看 u
  • 在 C++ 中,当我将值传递给函数时,它是否总是转换为适当的类型?

    如果我有一个像这样的函数void func size t x 我称该函数为func 5 5 立即转换为size t类型 这通常适用于所有类型吗 我问这个问题是因为我发誓我见过人们编写代码 他们做类似的事情func 5 0 将 5 作为双精度
  • 在 Travis 上使用 devtools 安装 R 包时遇到问题

    Travis CI 构建于drakeR包手册 https github com ropenscilabs drake manual 最近开始失败 https travis ci org ropenscilabs drake manual b
  • 如何在 R 中为所有plot.default、plot 或lines 调用设置默认颜色

    为了简化我的日常 R 交互 我想为所有绘图设置默认颜色 例如 假设我想要用红线绘制所有绘图 例如在 gnuplot 中 到目前为止 这是我的 Rprofile 的片段 setHook packageEvent grDevices onLoa
  • ggplot2 - 在绘图顶部添加辅助 y 轴

    对于出版物 我需要向现有绘图添加第二个 y 轴 我遇到了一种方法来做到这一点 https rpubs com kohske dual axis in ggplot2 https rpubs com kohske dual axis in g
  • 安装 gplots 时出错

    我正在 OSX v 10 9 2 上运行 R v 3 0 3 当尝试使用以下命令在 R studio 中安装 gplots 包时 出现错误 gt library gplots Error in library gplots there is
  • R 中的 ddply:对于每个组,查找特定变量的出现百分比

    我有一个数据集 其中包含两列 user type 和滞后响应时间 以天为单位 user type imp date lag Consumer 20130613 1 Consumer 20130612 2 Consumer 20130611
  • 收集四列,其中两个键中包含值

    已经提出了类似的问题 但它们都涉及在一个关键列中收集多个列 我需要两个键中的多个列 这是我的数据框 ID measure A 1 measure A 2 measure B 1 measure B 2 1 8 25 23 5 4 5 2 8
  • 将函数应用于矩阵列表

    我有一个矩阵列表 注意 它们的维度与此示例不同 x lt matrix 1 10 ncol 2 y lt x 300 mylist lt list x y 我想运行一个函数networklevel在矩阵列表中的每个矩阵上 该函数有各种可以计
  • 将文件夹中的多个 csv 文件读取到 R 中的单个数据帧中[重复]

    这个问题在这里已经有答案了 我有一个包含 332 个 csv 文件的文件夹 文件名称如下 001 csv 002 csv 003 csv 330 csv 331 csv 332 csv 所有文件都具有相同数量的变量和相同的格式 我需要读取一
  • 为什么 `obj.foo = function() { };` 没有将名称 `foo` 分配给函数?

    从 ES2015 ES6 开始 函数有了专有名称 包括官方名称 name属性 而函数创建时的赋值除了明显的函数声明和命名函数表达式之外还有多种方式 比如给变量赋值 函数的名字设置为变量的名字 给对象属性赋值 函数的名称设置为属性的名称 甚至
  • R中无法连接odbc数据库

    我一直在尝试使用以下命令将我公司的 DMS 连接到 RodbcConnect命令 但收到以下消息 myConn lt odbcConnect NZSQL uid cejacobson pwd password Warning message
  • 使用 2 个向量参数翻转函数

    我想对需要 2 个向量参数的函数应用滚动 这是使用 data table 的示例 不起作用 library data table df lt as data table cbind data frame x 1 100 y 101 200
  • 执行数组内的函数

    是否可以从数组内部执行匿名函数 也在数组内部定义 return execute function logic 或者我应该在外面定义它然后再调用它 从技术上讲 您可以将该函数括在括号中并像这样调用它 return function retur
  • 更新两组单选按钮 - 闪亮

    我问了这个问题 反应式更新两组单选按钮 闪亮 https stackoverflow com questions 35040579 update two sets of radiobuttons reactively shiny 昨天 但也
  • 如何在R中将英尺转换为厘米?

    我得到了一个高度的字符向量 如下所示 859 5 10 5 8 5 11 6 0 5 10 6 2 5 11 6 2 6 2 5 7 5 9 5 7 6 1 6 0 5 11 6 0 6 5 6 1 6 1 5 10 5 11 5 11 6
  • 在 R 的替换命令中取消引用字符串

    我想知道是否可以unquote通过替换命令传递给表达式的字符串 具体来说 我使用 dplyr 从数据框中过滤和选择 gt w subject sex response 1 1 M 19 08 2 2 M 16 46 6 6 M 23 60
  • 如何通过组度量的平均值在 df 内排列 dplyr:: 组?

    借鉴吴卡拉的设计https stackoverflow com a 26555424 9350837 https stackoverflow com a 26555424 9350837答案 我希望根据各个组汇总测量的平均值对分组 df 进
  • RMySQL fetch - 找不到继承的方法

    使用 RMySQL 我想将数据从数据库加载到 R 中的数据帧中 为此 我使用以下代码 R连接数据库 con lt dbConnect MySQL user root password password dbname prediction h

随机推荐

  • 使用 Visual Studio 2013 构建 64 位 Live555

    我正在尝试在 Windows 7 上使用 Visual Studio 2013 64 位构建 Live555 的组件 我尝试编辑 win32config 和 mak 文件 但没有成功 我已经在互联网上搜索了几个小时 并使用命令提示符尝试了各
  • 在 Code Igniter 2.02 中设置电子邮件

    我收到很多错误 我已经在不同的站点尝试了几个建议 删除了父函数 删除了数组 更新了我的 php ini 文件 但没有运气 这是我收到的 13 个错误中的第一个 遇到 PHP 错误 严重性 警告 消息 fsockopen function f
  • std::list 析构函数不阻塞

    我有一个多线程应用程序 有一个循环作为主线程等待用户输入 在正确的输入上 它应该停止循环并等待所有其他线程正确结束 为此 我创建了一个 std list 其中放置了为创建线程而创建的 std future 对象 std list
  • 如何在Silverlight中创建类似WPF的数据触发器?

    我如何为 Silverlight 数据网格创建一个触发器 其中单元格背景颜色根据单元格值而变化 我前段时间参与过一个 WPF 项目 我记得通过 xaml 中的 DataTriggers 实现这一点非常简单 然而 此功能似乎在 Silverl
  • 实体框架数据库第一次重新生成让我失去了手动更改

    我正在使用 MVC NET 制作一个网站 由于我是一名老派程序员 首先学习设计数据库 所以我选择了数据库优先方法 我还使用 代码生成 来创建具有扩展名的文件 tt 到目前为止 除了一件让我困扰的事情之外 一切都正常 经典场景 我意识到我缺少
  • 如何在类库项目中正确定义 DBContext?

    我正在使用实体框架 7 并创建了两个项目 一个项目是 ASP NET 5 Web API 项目 另一个是类库项目 包 我想在其中存储所有数据访问层逻辑 这样我就可以将此包用于另一个报告项目 并且我可能提供的其他附加服务 基本上 我在 Web
  • 假设自动线程化的 scipy 和 numpy 函数没有利用多核

    我正在运行 Mac OS X 10 6 8 并使用 Enthought Python 发行版 我希望 numpy 函数能够利用我的两个核心 我遇到了与这篇文章类似的问题 python numpy 中的多线程 blas https stack
  • Android getResources().getDrawable() 已弃用 API 22

    使用新的 Android API 22getResources getDrawable 现已弃用 现在最好的方法是只使用getDrawable 发生了什么变化 您可以选择一些选项来正确处理此弃用 并且未来证明 方式 具体取决于您正在加载哪种
  • QLineEdit 的背景图像

    如何设置背景图片QLineEdit 以下样式表不起作用 QLineEdit background image url images 13 png QLineEdit border 1px solid 000000 image work wi
  • 如何在Python中记录源文件名和行号

    是否可以装饰 扩展Python标准日志记录系统 以便在调用日志记录方法时它还记录文件和调用它的行号或者调用它的方法 当然 检查一下格式化程序 http docs python org library logging html formatt
  • Jenkins 多分支 - 如何扫描 jenkinsfile 放置在子模块上的分支?

    我有一个主存储库 其中包含一个子模块 其中包含 Jenkinsfile 有了这个 我想为该主存储库创建一个多分支管道作业 但这不起作用 当 Jenkinsfile 不在子模块中时它可以工作 但当 Jenkinsfile 位于子模块中时它不会
  • 在 HERE 地图中的标记上悬停时显示内容 Div

    我是这里的地图新手 需要在标记悬停时显示一个 div 我已经能够放置带有图标的标记 但现在需要显示带有一些额外信息的 div HERE 地图 API 是否提供此功能 任何文档 URL 或一段代码都将受到赞赏 注意 我正在使用 HERE 网络
  • 如何在 Twitter Bootstrap 中使用 CSS 将文本对齐到元素的中间?

    我在用引导程序 http twitter github com bootstrap javascript html alerts警报 这是我的成功警报消息 div class alert alert success a class clos
  • 调度程序未在 Spring Boot 中运行

    我创建了一个 Spring Boot 应用程序 我已经配置了包含调度程序方法的类startService 下面是我的代码 服务等级 package com mk service import org springframework bean
  • CSS 使文本左对齐并同时对齐

    有没有办法让文本左对齐并同时对齐 意思是左对齐之类的 有什么办法可以实现这一点吗 感谢帮助 您可能正在寻找最后一行的左对齐 text align justify text align last left
  • 如何让用户输入不区分大小写?

    我想创建一个函数来过滤我要打开的文件以及具体的月份和日期 这样 用户需要输入他们想要在哪个特定月份或日期分析哪个城市 文件 但是 我希望用户能够输入不区分大小写的内容 例如 用户可以输入 chicago CHICAGO ChIcAgO 它仍
  • 如何设置shell脚本的进程组

    如何设置shell脚本的进程组 我还希望所有子进程都位于同一个进程组中 我期望类似的东西setpgid in C As 普斯科西克指出 https stackoverflow com a 45112755在大多数 shell 中 通过激活作
  • 使用 WebFlux 的 Spring Boot 在测试中总是抛出 403 状态

    非常感谢您查看我的问题 我有一些奇怪的主题 我的 Spring Boot 测试不起作用 它们启动成功 但在向任何控制器发出请求时总是抛出 403 HTTP 状态 我有一些具有下一个依赖项的项目 buildscript ext kotlin
  • 多索引数据框 pandas 中的操作

    我需要处理大数据 csv 中的地理和统计数据 它包含来自地理行政和地统计的数据 城市 区位 地统计基本区划和区块构成层次指标 我必须为地理索引中数据的最大值的每个元素创建一个新列 data2 并将每个块值除以该值 对于每个索引级别 索引级别
  • 如何在不使用库(Metrics)的情况下制作MAE和RAE的函数?

    我的目标是创建平均绝对误差 MAE 和相对绝对误差 RAE 的函数 而不使用任何类型的库 例如库 Metrics 我尝试在 MAE 和 RAE 的函数内输入公式 mae lt function a b mean abs a b rae lt