R 根据值列表正确检查提供的参数?

2023-12-02

在一篇评论中关于如何“正确”指定 R 中的可选参数的已接受答案,@LouisMaddox 说

missing()但是,当您想根据列表正确检查提供的参数时,这是无用的。对于一个函数Foo带参数bar和可选开关a_or_b(默认值“a”)你可以写Foo <- function(bar, a_or_b=c("a", "b")) ...

是否有正确/推荐/惯用的方法来根据可能值列表检查提供的参数?

我试着看看graphics::plot.default并且还瞥见了graphics::par但无法从这两个函数中获得任何可理解的内容(看看如何type例如处理参数)。

在这种情况下type例如,参数,所有可能的值都是单字母字符串,所以我猜在某个地方,有一个很大的switch声明或一堆if声明。


如果您有少量选项,请使用match.arg函数内。看?match.arg举个例子。

如果有效参数都是单字母字符串,那么您将需要另一种方法,例如:

# returns logical 
is_one_letter_string <- function(x) {
     !missing(x) && length(x) == 1 && is.character(x) && x %in% c(letters, LETTERS)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R 根据值列表正确检查提供的参数? 的相关文章

随机推荐

  • TornadoFX 未解决的 JavaFx

    我想创建一个应该是桌面应用程序的新项目 为此 我选择了 Kotlin 语言和 TornadoFX 框架 我已经安装了TornadoFX插件并创建了一个新的 Ttornadofx gradle project Intellij 的基本设置是成
  • 非动态自定义 HTTP 标头

    根据这个Ogg 媒体上的 Mozilla 文章 媒体在浏览器中可以更加无缝地工作X Content Duration标题 给出该片段的长度 以秒为单位 假设我将该长度存储在某个地方 当然在数据库中 也许也在文件名本身中 video file
  • 数据库陷入“正在恢复”状态

    我备份了一个数据库 BACKUP DATABASE MyDatabase TO DISK MyDatabase bak WITH INIT overwrite existing 然后尝试恢复它 RESTORE DATABASE MyData
  • 我想处理ios中的通话状态

    我想获取电话的状态 无论是已拨 已连接还是已断开 我尝试了自己 但无法获得状态 NSString phoneNumber telprompt stringByAppendingString 9723539389 UIApplication
  • 剧作家:可以为 1 次测试指定工作人员数量或浏览器吗?

    我的套件设置为使用 3 个工作线程 2 个桌面和 2 个移动设备 针对 4 个浏览器运行 我有一个测试 我需要要么不并行运行 要么限制只在一个桌面浏览器中运行 那可能吗 我需要这样做的原因是测试正在触发一个可能需要几秒钟才能运行的事件 运行
  • 通过 gmail 在 CodeIgniter 中发送电子邮件

    我正在按照教程使用 gmail 发送电子邮件 但是我得到的页面只是挂起 甚至没有加载错误 我正在使用 MAMP 所以这可能是它不起作用的原因 class Email extends CI Controller public function
  • 更改 JTextField 启用的背景颜色

    我有一个问题JTextField背景颜色 如何在启用的文本字段中更改它 编辑时 setBackground仅适用于禁用的文本字段 UIManager put可以更改窗口中所有文本字段的背景 但我只想对其中一个文本字段执行此操作 有多种方法可
  • 如何在存储过程中循环访问表?

    这个问题是从this one 我有两个表需要查询并从中收集一些计算所得的总和 我需要一个基于单位的结果集 每个单位一行 并将它们的计算数据折叠到该行中 这两个表包含以下相关成员 客户类别日志 Unit varchar 25 MemberNo
  • 检索事件详细信息时展开 singleValueExtendedProperty 不起作用

    我正在尝试使用 Microsoft Graph 检索事件的自定义属性值 自定义属性是由 Outlook Office js 添加创建的 这是请求 v1 0 me events id expand singleValueExtendedPro
  • 在 Spring MVC 3 中传递请求参数

    我只想使用请求参数发送下拉列表的值 就我而言是 Kidscalcula web start htm klasid myValueHere 我知道一种方法 但用它来做这件事听起来很不合理 如果我很无聊 我可能会编写一些 jQuery 来发布帖
  • 如果“foreach”中的所有值均为 true

    我正在编写一个 Powershell 脚本来查找所有Azure 存储帐户其中所有容器的 LastModifiedDate 均小于 6 个月 如果只有一个容器对于该声明为 FALSE 则 ASA 应被忽略 实现这一目标的一种方法是获取一个存储
  • ajax“回调未定义”错误

    我目前正在尝试返回数据库调用来填充下拉框 然而 当我循环访问返回的列表时 我收到 回调未定义 错误 我已经用两种方法尝试过这段代码 但都不起作用 我试过了 Vehicle KovId value change function var ko
  • 插入包含从其他行计算得出的数据的新行

    假设我有一个名为 MyTable 的 MySQL 表 如下所示 Id Type Value 0 A 1 0 B 1 1 A 2 1 B 3 2 A 5 2 B 8 并且 对于每个Id 我想插入一个新行 类型为C whose Value是类型
  • 如何在检查器编辑器脚本中绘制列表及其所有项目?

    主要脚本 using System Collections using System Collections Generic using UnityEngine public class DialogueTrigger MonoBehavi
  • -[NSDateFormatter dateFromString:] 返回 nil

    NSString lower NSString stringWithFormat newDates objectAtIndex 0 NSString higher NSString stringWithFormat newDates obj
  • TypeScript 无法推断泛型方法中的约束类型?

    我是 TypeScript 的新手 具有很强的 C 背景 我想知道类型推断在 TypeScript 中的以下情况下似乎不起作用但在 C 中却起作用的确切原因是什么 打字稿 interface IResult interface IReque
  • AudioQueue 录制时播放警报声音(振动)

    好像不能播放提示音 AudioServicesPlayAlertSound kSystemSoundID Vibrate 而 AudioQueue 用于录制音频 那是对的吗 也许我做错了什么 除了暂停录音之外 还有其他方法吗 TIA 通过阅
  • Greasemonkey 脚本每分钟重新加载页面

    如何每 60 秒重新加载一个页面 我的尝试 setTimeout location reload 1 60 60 我不确定这些数字的含义 或者如何调整它们以仅在 60 秒后重新加载 setTimeout function location
  • iOS 中 MKMapView 上的自定义图钉?

    我已经尝试了几乎所有方法来显示图像 而不是 MKMapView 上的默认红色图钉 互联网上有很多关于这个问题的答案 但他们都一直给我这个 MKAnnotationView mapView MKMapView mapView viewForA
  • R 根据值列表正确检查提供的参数?

    在一篇评论中关于如何 正确 指定 R 中的可选参数的已接受答案 LouisMaddox 说 missing 但是 当您想根据列表正确检查提供的参数时 这是无用的 对于一个函数Foo带参数bar和可选开关a or b 默认值 a 你可以写Fo