测试 R 中是否设置了函数的参数

2024-01-07

我有一个函数f它需要两个参数(p1 and p2):

如果对于参数p2没有值传递给函数,值p1应使用 ^2 代替。但是我怎样才能在函数中找出是否给定了值。问题是变量p2如果没有值则不会初始化。因此我无法测试p2 being NULL.

f <- function(p1, p2) {
    if(is.null(p2)) {
        p2=p1^2
    }
    p1-p2
}

是否可以以某种方式检查值是否为p2是否传递给函数? (我找不到isset()- 功能或类似的东西。)


您使用该功能missing()为了那个原因。

f <- function(p1, p2) {
    if(missing(p2)) {
        p2=p1^2
    }
    p1-p2
}

或者,您可以默认将 p2 的值设置为 NULL。我有时更喜欢这种解决方案,因为它允许将参数传递给嵌套函数。

f <- function(p1, p2=NULL) {
    if(is.null(p2)) {
        p2=p1^2
    }
    p1-p2
}

f.wrapper <-function(p1,p2=NULL){
    p1 <- 2*p1
    f(p1,p2)
}
> f.wrapper(1)
[1] -2
> f.wrapper(1,3)
[1] -1

编辑:你可以在技术上做到这一点missing()以及,但是你必须包括一个missing()中的声明f.wrapper以及。

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

测试 R 中是否设置了函数的参数 的相关文章

随机推荐

  • Android 圆形图库或列表视图,具有放大和缩小选项

    我想要一个循环滚动的列表或图库 并且当前项目必须放大 其他项目必须缩小 如下 任何人都可以提供实施的好主意以及任何代码帮助吗 None
  • 不使用指针的递归数据结构

    在攻读计算机科学学士学位期间 我多次遇到过递归数据结构的使用 在 C 中 我总是最终使用指针来使数据结构递归 就像我在 C 中所做的那样 一个简化的示例如下 struct Tree int data struct Tree left rig
  • 执行 Docker Inspect 时如何获取 ENV 变量

    我想知道如何从 dockerspect 获取环境变量 当我跑步时 docker inspect f Config Env PATH 1e2b8689cf06 我得到以下信息 FATA 0000 template 1 9 executing
  • C++ 中的斑点检测

    我是计算机视觉方面的新手 但我需要在 C 中创建一个小功能 即使他上面印有东西 它也会检测一张白纸 并检索 4 个边缘坐标 这就是我真正需要的 这样我就可以使用这些坐标并剪切另一个 jpg 文件 并将剪切的图像用作 opengl 纹理 我不
  • Mac Sierra 中焦点跟随鼠标(无自动提升)

    我知道有关此主题的其他线程 但它们是基于自动引发的和 或所有答案都指向不再开发的软件 我只是在寻找这个简单的功能 Mac 上焦点跟随鼠标 无需自动提升 Zoooom2 能够执行此操作 但他们不再开发自己的软件 我没有使用终端 需要在具有多个
  • Logstash grok 测试与 rspec 有不同的行为?

    我正在为 grok 过滤器创建一个测试套件 有些日志由logstash 正确丰富 但不是rspec 测试 为了测试这一点 我启动了一个 Logstash 实例 其中包含 stdin stdout 和 json 用于输入和输出 这是示例日志
  • jquery ajax请求跨域时返回状态码0

    我正在尝试发出跨域请求 但服务器无法响应 Access Control Allow Origin 我正在尝试读取响应头 当我尝试读取状态代码或就绪状态时 它返回 0 我的 ajax 请求代码如下 ajax url https account
  • 使用scale_fill_manual手动分配颜色仅适用于某些六边形尺寸

    我正在尝试创建一个由六边形计数箱总结的散点图 我希望用户能够定义色标的计数中断 我有这个工作 使用scale fill manual 但奇怪的是 它只是有时有效 在下面的 MWE 中 使用给定的种子值 如果xbins 10 导致绘图存在以下
  • 在析构函数调用的哪一点,对象不再存在?

    当一个对象的析构函数被调用时 该对象在什么时候不再存在 它是在被调用的那一刻发生的吗 或者在完成删除函数内对象成员的内存之后 我主要问它是为了了解在其析构函数中调用对象的函数是否合法 在析构函数调用的哪一点 对象不再存在 对象的生命周期通过
  • 没有完整堆栈框架的 Symfony 组件

    我在我的项目中使用 Symfony DI Http Kernel Routing 创建您自己的 PHP 框架 https symfony com doc current create framework index html https s
  • 连接两个docker容器

    我有两个容器 第一个带有django第二个是postgresql 好吧 在我的第一个服务器中我运行了django我正在尝试将它与第二个联系起来 第二个容器有端口32770暴露但在端口内部运行5432 在我的本地机器上 我有连接 服务器 本地
  • 如何在 Oracle PLSQL 中透视表?

    我有一个表格如下 KEY 1995 1996 1997 1998 1999 2000 2001 2002 2003 123 0 0 0 461 1188 2049 1056 377 295 我希望数据可见 如下所示 KEY SEQ NBR
  • 即使侧边栏在 SwiftUI 中打开,如何使视图全屏?

    Goal 与地图应用程序一样 当侧边栏打开时 视图显示为全帧大小 视图位于侧边栏下方 我尝试过的 为了最大化视图的大小 我将大小设置为无穷大并添加视图修饰符 ignoresSafeArea 但它仍然不像地图那样全画幅 当我打开侧边栏时 你会
  • Hibernate、Spring 和 MySQL:无法将字符集设置为 UTF-8

    我对 Hibernate 和 Spring 有一个问题 我无法在任何地方使用 UTF 8 字符集 并且我对重音字母有一些问题 例如 这是我的数据库创建的一部分 Dropping and creating database again DRO
  • 将颜色从 CSS 转换为 javafx 颜色对象

    我想知道是否可以转换 CSS 中定义的颜色 例如 root my blue rgb 50 100 200 转换为 JavaFX 中的颜色对象 例如 通过 CSS 定义 我可以在节点上使用 setStyle 来设置其颜色 label1 set
  • Hibernate Validator:将验证限制为给定的约束

    我想分两步执行我的实体的验证 虽然我在保存到数据库之前使用 defaultValidatorFactory 来验证实体的所有字段 但我想在前面的步骤中对实体执行部分验证 但我找不到配置我的验证器 或 validatorFactory 的方法
  • reportlabs 中的 Python 饼图

    我指的是这个链接 http www reportlab com snippets 4 用于生成饼图 在此 每个数据的颜色都是预先定义的 即 10 个数据点有 10 种颜色 如果我有 11 个数据点 那么第 11 个数据点将没有颜色怎么办 我
  • 在Winforms中显示动画gif而不锁定文件

    我正在尝试显示各种文件类型的图像 包括动画 gif文件 在我的 Winforms 应用程序中 我也必须能够修改显示的文件 更改文件名 删除它们 问题是一个Picturebox 锁定图像文件 直到应用程序关闭 http support mic
  • Spark 作业在活动阶段显示未知且卡住

    我正在运行 Spark 作业来计算交互 映射后 我按我想要的键进行分组 Spark 保持在挂起状态 而不显示任何错误和阶段的未知信息 我想知道可能是什么原因导致的以及如何检查它 因为我在本地运行并且这是正常的 检查日志没有错误信息 6 01
  • 测试 R 中是否设置了函数的参数

    我有一个函数f它需要两个参数 p1 and p2 如果对于参数p2没有值传递给函数 值p1应使用 2 代替 但是我怎样才能在函数中找出是否给定了值 问题是变量p2如果没有值则不会初始化 因此我无法测试p2 being NULL f lt f