如何在 switch 语句中将向量作为参数传递

2024-05-13

我对问题的谷歌搜索没有返回有用的结果和文档?switch没有告诉我如何做,所以我希望我能在这里得到答案。

假设我有一个向量:

cases<- c("one","two","three")

我想使用 switch 语句并将这些元素作为 switch 语句的参数:

switch(input,cases)

上面只会输出任何内容input=1在这种情况下它将输出:

switch(1,cases)
# [1] "one" "two" "three"

任何其他参数都不会返回任何内容。我可以获得所需行为的唯一方法是在 switch 语句中显式键入 case,如下所示:

switch(2,"one","two","three")
# [1] "two"

我想要的行为是可以在 switch() 中传递列表/向量/任何内容作为参数并实现以下行为:

switch(2,cases)
# [1] "two"

The switch函数采用一个表达式,指示从函数的剩余参数中选择哪个参数号。正如您所注意到的,这意味着您需要在调用时将向量分成单独的参数switch。您可以通过将矢量转换为列表来实现这一点as.list然后将每个列表元素作为单独的参数传递给switch with do.call:

do.call(switch, c(1, as.list(cases)))
# [1] "one"
do.call(switch, c(2, as.list(cases)))
# [1] "two"
do.call(switch, c(3, as.list(cases)))
# [1] "three"

我真的没有看到这样做比使用简单的向量索引有什么好处:

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

如何在 switch 语句中将向量作为参数传递 的相关文章

  • 如何从链表中删除节点?

    将整数添加到列表中工作正常 但删除和打印时出现问题 我对调试器还不友好 但我发现节点指针 first 有错误 它的值为 17891602 我不知道发生了什么事 include
  • 如何从 Angular ActivatedRoute 获取参数

    我正在尝试使用 observables 从我激活的路线中获取 prameter id 当我在控制台上打印参数时 我得到了正确的 id 值 但 this id 的情况并非如此 我得到了 NaN 值 你能告诉我有什么问题吗 export cla
  • 通过递归扩展 Prolog 目标?

    我 最终 实现了一些目标 这些目标将根据开始由 开始之后 and duration 然而 计划目标仅接受规定数量的任务 我想扩展计划目标的功能以接受单个列表并在计划时迭代该列表 不幸的是 我认为这将需要与can run and 冲突目标如下
  • 在两个向量之间交换元素(交叉)

    假设我有 chromosome 1 lt c 0010000001010000 chromosome 2 lt c 0100000001001010 我该如何实施step 3 5 Evaluate NC1 否 中 1 个chromosome
  • 连接路径的函数?

    是否有现有的函数来连接路径 我知道实施起来并不困难 但仍然 除了照顾尾随 or 我需要注意正确的操作系统路径格式检测 即我们是否编写C dir file or dir file 正如我所说 我相信我知道如何实施它 问题是 我应该这样做吗 现
  • 将 stat_smooth 添加到 ggplot2 中的仅 1 个方面

    我有一些数据 在某个因素的某个水平上 存在显着的相关性 在另一个层面上 则没有 并排绘制这些图很简单 使用 stat smooth 向它们添加一行 也很简单 但是 我不希望线条或其填充显示在两个面之一中 有没有一种简单的方法可以做到这一点
  • 闪亮的传单添加大量分离的折线

    我有一个 200k 行数据集 其中包含出发地和目的地的坐标 我有一个 R 闪亮的应用程序 带有传单地图 可以在这些坐标上显示圆圈 尽管坐标数量很大 但效果很好 这是数据的简化示例 每行包含出行id 出发地经纬度 目的地经纬度 id lat
  • 数据框中按行相关

    我正在尝试计算大型数据帧的所有行之间的相关性 到目前为止已经提出了一个有效的简单 for 循环 例如 name lt c a b c d col1 lt c 43 78 43 84 37 92 31 72 col2 lt c 43 80 4
  • 在活动中嵌入一个大小的ListView - android

    我正在看这个教程 http developer android com resources tutorials views hello listview html http developer android com resources t
  • 将多个函数应用于一个向量

    我正在寻找一种将多个函数应用于一个向量的选项 我认为这对于逆应用函数来说是一种仁慈 其中一个函数应用于许多向量 或列 有没有办法指定两个或多个函数 例如 min 和 max 并将其应用于向量 与 CathG的评论类似 但没有get v lt
  • 挑战:优化取消列出[简单]

    因为 SO 最近有点慢 所以我发布了一个简单的问题 如果大鱼们能在这场比赛中留在替补席上并给新秀们一个回应的机会 我将不胜感激 有时我们的对象具有大量的大列表元素 向量 您如何将这个对象 取消列出 到单个向量中 证明你的方法比unlist
  • 如何从数据框中按降序获取前n家公司

    我正在尝试从数据框中获取排名前 n 的公司 下面是我的代码 data Forbes2000 package HSAUR sort Forbes2000 profits decreasing TRUE 现在我想从这个排序向量中获取前 50 个
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • 将非常大的Python列表输出保存到mysql表中

    我想将 python 生成的列表的输出保存在 mysql 数据库的表中 该表如下所示 mysql 中的 myapc8 表 https i stack imgur com 4B4Hz png这是Python代码 在此输入图像描述 https
  • 如何使用 Rcpp 将 C 结构从 C 库公开到 R

    我正在尝试将 C 结构从 C 库公开到 R 中 例如 struct A int flag 库提供 API 来构造和销毁是很常见的A A initA void freeA A a 感谢RCPP MODULE 很容易暴露它而不考虑析构函数 in
  • 如何在 R 中创建纯 ascii 表作为输出,类似于 MySQL 风格?

    我正在尝试为 R 找到一个输出的函数data frameMySQL 风格的 ascii 表中的对象如下 id var1 var2 1 asdf g 2 asdf h 3 asdf j 有这样的功能吗 至少有两个工具可以做到这一点 csvfi
  • do.call 的 envir 选项如何工作?

    的文档do call states If quote is FALSE 默认值 然后对参数进行求值 在调用环境中 而不是在envir 这句话向我暗示 当quote FALSE 指定envir没有什么区别 然而 事实并非如此 事实上我遇到过需
  • 缩放geom_密度以将geom_bar与y上的百分比相匹配

    因为我对数学感到困惑上次我尝试问这个问题 https stackoverflow com questions 32412805 ggplot2 histogram with density curve that sums to 1 这是另一
  • 了解日期并使用 R 中的 ggplot2 绘制直方图

    主要问题 当尝试使用 ggplot2 制作直方图时 我无法理解为什么日期 标签和中断的处理无法像我在 R 中预期的那样工作 我在找 我的约会频率的直方图 刻度线位于匹配条下方的中心 日期标签在 Y b format 适当的限制 最小化网格空
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不

随机推荐

  • 约束 3D 表面的 RBF 插值以保持曲率

    我的任务是开发一种算法 给定一组表示现有表面测量值的稀疏点 我们就可以计算表面上任何点的 z 坐标 面临的挑战是找到一种合适的插值方法 该方法可以在仅给定几个点的情况下重新创建 3D 表面 并推断出超出包含初始测量值的范围的值 对于许多插值
  • SQLCLR中连接字符串的区别

    我正在审查顾问签入的一些代码 并注意到他们正在使用 SQLCLR 我对此没有任何经验 所以我想研究一下它的内容 我注意到他们使用了 Dim cn As New SqlConnection server LOCALHOST integrate
  • 如何让 rpmbuild 下载特定 .spec 的所有源代码?

    我正在向现有 rpm 添加一些源 spec通过 URL 文件 但尚未下载 有没有办法得到rpmbuild下载源代码而不是手动执行 The spectool https www unix com man page centos 1 spect
  • 在 C# 进程之间共享对象的推荐方式

    我已经阅读了许多关于 2 个 C 应用程序之间的 IPC 及其优缺点的不同内容 但我觉得我还没有为我的用例找到令人满意的答案 我有一个已经存在的对象 该对象会经常更改 我正在尝试将我的工具附加到游戏并使用它来调试使用该工具创建的元素 因此
  • TypeScript 循环元组数组

    如何在 TypeScript 中循环元组数组 例如 for const x y of a 1 b 2 y 1 抱怨 error TS2365 Operator cannot be applied to types string number
  • 阻止原始框架“null”访问跨原始框架 - chrome

    我是 Javascript 新手 正在通过一本重点介绍其在 IE 7 和 Firefox 2 中应用的教科书来学习基础知识 但是 我正在使用 Chrome 并且在运行书中给出的程序时出现以下错误 阻止了原点 null 的框架访问跨源框架 谁
  • 在 Jade 模板中包含 SVG xml

    是否可以创建一个 Jade mixin 它从文件系统读取文件 并将其回显到渲染的 HTML 中 我试过这个 mixin svg file var fs require fs var xml fs readFileSync file div
  • wcf json网络服务

    创建 JSON Web 服务的最佳方法是什么 我们还有另一个使用 Java 的团队 他们坚持使用 JSON 完成所有通信 我更喜欢使用 WCF 而不是任何第三方框架 我找到了这个博客 http www west wind com weblo
  • Python Twisted 和数据库连接

    我们的工作项目包括同步应用程序 短期 和异步 Twisted 应用程序 长期 我们正在重构我们的数据库 并将构建一个 API 模块来解耦该模块中的所有 SQL 我想创建该 API 以便同步和异步应用程序都可以使用它 对于同步应用程序 我希望
  • 参数绑定的名称不能为 null 或为空!对于命名参数,您需要在 Java 版本上使用 @Param 来查询方法参数

    这之前已经发布过 但我的问题有点不同 这是有问题的 JPQL 查询 Query SELECT NEW com htd domain ShopOrder po id po po number po due date po part id po
  • 如何使用 python 在白色背景上裁剪图像?

    我正在扫描旧照片 因此我有来自扫描仪的图像和白色背景 我的目的是拍照 去除白色背景 我怎样才能做到这一点 An example picture is the following 我的简单方法 import os import time fr
  • AngularJS 控制器等待响应(或设置回调)

    我有一个带有controllers js 和factories js 的AngularJS 应用程序 我喜欢用控制器中的值 我从工厂获得 做一些事情 我的问题是 当我访问这些值时它们是空的 我怎样才能等待回复 或者在哪里可以添加回调 Fla
  • Django:出于测试目的阻止互联网连接

    我想确保我的单元测试不会尝试连接到互联网 有没有办法在连接时引发异常 有一个类似的问题Python 出于测试目的阻止网络连接 https stackoverflow com questions 18601828 python block n
  • 弹出表单可见,但 Puppeteer 中缺少 html 代码

    我目前正在尝试从网站获取一些信息 https www bauhaus info https www bauhaus info 并在 cookie 弹出表单中失败 到目前为止 这是我的代码 async gt const browser awa
  • Django - 找不到静态文件

    我看过有关此问题的几个帖子 但没有找到我的解决方案 我正在尝试在 Django 1 3 开发环境中提供静态文件 这是我的设置 STATIC ROOT home glide Documents django cbox static STATI
  • 对 CSV 行使用小写函数

    我正在尝试以小写形式打印 csv 中的所有数据 但我没有任何运气 这是我到目前为止所拥有的 import csv books csv reader open books csv rb for row in books print row 这
  • 如何获取 Minecraft 会话 ID?

    我正在尝试制作 Minecraft 客户端 但不知道如何获取会话 ID 来启动游戏 我已经做了一些谷歌搜索 但无论如何都找不到从中获取它这个答案从命令行启动 Minecraft 用户名和密码作为前缀 https stackoverflow
  • 文件名字符导致打开失败:EINVAL(无效参数)

    我想创建一个文件名采用以下格式的文件 DAY MONTH YEAR HOUR MINUTE但是当我使用 or and 我越来越open failed EINVAL例外 我试图逃离这些字符 但没有快乐 是否有禁止的文件名字符列表 String
  • Android:如何按设备类型(平板电脑、手机)设置强制设备方向?

    我需要根据设备类型设置力方向设备 以使用相关视图 平板电脑为横向视图 移动设备为纵向视图 旋转无法在设备上更改 因为我想在应用程序启动期间设置所有活动的方向 所以我认为我应该识别主活动中的设备类型 该活动由与视图相关的其他活动扩展 请问我怎
  • 如何在 switch 语句中将向量作为参数传递

    我对问题的谷歌搜索没有返回有用的结果和文档 switch没有告诉我如何做 所以我希望我能在这里得到答案 假设我有一个向量 cases lt c one two three 我想使用 switch 语句并将这些元素作为 switch 语句的参