如何在R函数中使用switch语句?

2024-07-04

我想在 R 中的函数中使用以下语句switch()根据函数参数的值触发不同的计算。

例如,在 Matlab 中,您可以通过编写来做到这一点

switch(AA)        
case '1'   
...   
case '2'   
...   
case '3'  
...  
end

我找到了这个帖子——switch() 语句用法 https://stackoverflow.com/questions/7825501/switch-statement-usage- 解释如何使用switch,但对我来说并没有真正的帮助,因为我想执行更复杂的计算(矩阵运算)而不是简单的mean.


Well, switch可能并不是真的要这样工作,但你可以:

AA = 'foo'
switch(AA, 
foo={
  # case 'foo' here...
  print('foo')
},
bar={
  # case 'bar' here...
  print('bar')    
},
{
   print('default')
}
)

...每个案例都是一个表达式 - 通常只是一个简单的事情,但在这里我使用了一个卷曲块,以便您可以在其中填充您想要的任何代码...

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

如何在R函数中使用switch语句? 的相关文章

  • plm 问题,重复时间 ID 错误

    我正在运行固定效应回归并收到以下错误 fixed effects lt plm GNI lag GNI imposition ExpImp democ data sanctions data6 index c country sanctio
  • 可以在点阵图和 ggplot2 图中使用 Polygon() 或等效函数吗?

    是否可以注释lattice or ggplot2 包含使用以下命令创建的元素的图形polygon 或使用类似功能创建的元素 graphics图书馆 除了网上发布的和 Deepayan Sarkar 书中印刷的简单图表示例之外 我对这两个库都
  • R Markdown 水平规则也适用于 LaTeX pdf?

    我知道 是 Pandoc 的 Markdown 水平线 这条水平线在 HTML 上看起来不错 但如果我将 Markdown 编织成 pdf 则水平线仅占 pdf 宽度的一半 并且居中 这种组合只会让水平尺看起来很丑 如何在 R Markdo
  • 用小平面绘制 ggplot2 中分布的分位数

    我目前正在 ggplot 中绘制多个回归模型的一阶差分的多个不同分布 为了便于解释差异 我想标记每个分布的 2 5 和 97 5 百分位 由于我将制作相当多的绘图 并且由于数据按二维 模型和类型 分组 因此我想在 ggplot 环境中定义并
  • 带有实心点符号和图例的绘图函数

    我想用不同的颜色和点样式绘制两个函数并带有相应的图例 简单的R 我有几个问题 我在用pch 21 and pch 22 我的理解是它们是 填充 符号 它们确实按照图例中的预期填充 但在图表本身上却显得空心 怎么了 我可以在不手动指定网格的情
  • Tidyr 的 Gather() 与 NA

    我在用tidyr and lubridate将宽表转换为长表 以下效果很好 gt df lt data frame hh id 1 2 bday 01 ymd 20150309 bday 02 ymd 19850911 bday 03 ym
  • R-特殊字符没有插入到mysql中

    如何使用r编程将特殊字符插入MySQL 我有一个数据框 它将从 tsv 文件读取数据 我想将这些值插入到包含 2000 行的 mysql 数据库数据框中 但它只插入 23 行 我正在使用 RODBC 库 问题在于数据中的特殊字符 样本数据
  • 库(传单)中的错误:没有名为“传单”的包

    我像这样编写了 docker 文件来部署闪亮的 r 应用程序 FROM rocker r base latest RUN apt get update apt get install y no install recommends sudo
  • 嵌套函数内间隔上的多个 CASE 语句

    虽然我已经想出了一个使用多个的解决方法if else if声明 我很想知道我的case声明 如下图所示 function ar vo bucket revEng v s solve solve gt 0 sqrt T ar vo s buc
  • 基于 R 中的日期/时间范围连接数据

    我有一个文件 位置 其中包含 x y 坐标和日期 时间标识 我想从第二个表 天气 获取信息 该表具有 相似 的日期 时间变量和协变量 温度和风速 诀窍是两个表中的日期 时间数字并不完全相同 我想选择的天气数据是closest从位置数据 我知
  • 在R中绘制多个不同尺寸和坐标的3D盒子

    最近我偶然发现了 R 中的 rgl Package 它可以用来创建交互式 3D 绘图 现在我想在一个 3d 图中可视化一组盒子 Box B 具有笛卡尔坐标 B coord x y z 对应于左下后角 尺寸 B dim x1 y1 z1 显然
  • 使用同一组中满足条件的第一个下一行设置列值

    我是 R 新手 这是我在 stackoverflow 上的第一个问题 我在尝试 通过引用分配给新列 对于每一行 使用同一行组中下一行的值 满足一个条件 示例数据 id code date down date up 1 1 p 2019 01
  • 如何在R中将时间(mm:ss)转换为小数形式

    我已使用 RStudio 将 csv 文件导入到 R 其中我尝试根据每场比赛的分钟数绘制每场比赛的得分 然而 每场比赛的分钟数采用 mm ss 格式 我很难找到如何将其转换为十进制形式 请帮忙 鉴于您从字符向量开始 这相对容易 minPer
  • 按组在数据帧上运行自定义函数

    用于循环数据框中的组的自定义函数 这是一些示例数据 set seed 42 tm lt as numeric c 1 2 3 3 2 1 2 3 1 1 d lt as numeric sample 0 2 size 10 replace
  • gc() 和 rm() 有什么区别

    我定期使用调用来清理 R 中的内存rm list ls 我需要调用垃圾收集器吗gc 在那之后 这2个函数有什么区别 做gc call rm 对于某些变量 首先 需要注意的是 两者有很大不同gc不删除any您仍在使用的变量 它只会为您不再有权
  • 在 data.table 中添加缺失值的行

    我的问题在某种程度上与在 data frame 中添加缺失值行的最快方法 https stackoverflow com questions 10438969 fastest way to add rows for missing valu
  • 从 R 中的 CSV 文件读取“...”中定义的函数输入值

    假设我有一个 R 函数 例如foo以下 该函数有 4 个固定参数 以及定义在中的任意数量的任意参数 所有输入值foo参数存储在THIS https github com izeh i blob master j csvCSV 文件 在下面的
  • 启动 R 会话时安装软件包

    我对 R 编程相当陌生 我正在尝试自定义我的 R 设置 以便当 R 会话启动时 会在开始时安装一些软件包 我知道我可以在 Rprofile site 文件中编写一个 First 函数 但是 在 First 函数中添加我的安装包代码后 该包并
  • 正则表达式在日期中添加连字符

    在 R 中 我有一个如下所示的字符串 x lt c 20130603 00 00 03 102 20130703 00 01 03 103 20130804 00 03 03 104 我想通过使用一个单一的看起来像下面gsub命令 而不是使
  • 使用深度名称向量作为索引替换嵌套列表

    采取一个简单的嵌套列表L L lt list lev1 list lev2 c bit1 bit2 other list yep 1 L lev1 lev1 lev2 1 bit1 bit2 other other yep 1 1 一个向量

随机推荐

  • React 中的 dom 就绪事件

    我有一些如下所示的组件 Wrapper 包装Loader和Page 加载器 一些动画 页面 页面内容 像这样的代码 div div class Loader extends Component class Page extends Comp
  • WinRT中的网络检查(C#实现)

    我们如何在 Windows 8 Metro 应用程序中检查网络状态 即不同网络的可用性 3g 4g wifi 等 Try 这个方法 http social msdn microsoft com Forums en US winappswit
  • 无法让 python 请求与代理一起使用

    我正在尝试通过代理服务器执行简单的获取请求 import requests test requests get http google com proxies http 112 5 254 30 80 print test text 代码中
  • 哪里可以获得 Android Studio Arctic Fox uninstall.exe 文件?

    目前 我遇到了一些 android studio 插件无法正常工作的问题 因此我尝试卸载并重新安装 android studio 但由于 uninstall exe 丢失而失败 我直接找到并卸载了 android studio 的大部分文件
  • VB中的动态方法调用无需反射

    我想使用方法调用来格式化任何数字类型 如下所示 Option Infer On Option Strict Off Imports System Runtime CompilerServices Namespace GPR Module G
  • 将带有数学表达式的字符串转换为浮点数

    文本字段包含数学表达式 例如 12 45 6可以将此字符串转换为数字吗 我们可以使用谓词设施吗 NSString foo a b c d 5 15 dummy predicate that contains our expression N
  • 使用lib添加自定义字体android

    我正在使用 android 自定义字体 lib Calligraphyhttps github com chrisjenx Calligraphy https github com chrisjenx Calligraphy 但对textv
  • Blazor - 重定向到一个解决方案中另一个项目中的页面

    我遇到了这样的情况 在一个解决方案中 想要将用户从一个项目的页面重定向到另一个项目的页面 这很重要 我在 blazor 服务器上做 任何人都可以教我一些东西吗 您始终可以注入 NavigationManager 通过此您可以将用户重定向到另
  • 来自 Abaqus/CAE 的 Python 多处理

    I am using a commercial application called Abaqus CAE1 with a built in Python 2 6 interpreter and API I ve developed a l
  • 使用 PowerShell 中的“备份”上下文创建卷影副本

    我正在编写一个 PowerShell 脚本 用于使用 rsync 备份 Windows 计算机 为此 我尝试使用所述脚本中的 WMI 创建一个有编写者参与的非持久卷影副本 显然建议备份 我从另一个问题中得知 从 Powershell 访问卷
  • 过滤(减少)NumPy 数组

    假设我有一个 NumPy 数组arr我想根据 可广播 函数的真值进行逐元素过滤 减少 例如 我只想获取低于某个阈值的值k def cond x return x lt k 有几种方法 例如 使用发电机 np fromiter x for x
  • 如何使信号客户端避免表单身份验证?

    我的 MVC 网站在 web config 中有表单授权 现在所有的页面都需要通过授权才能被查看 但是现在我有一个控制台程序 C 控制台程序 这个程序需要发送一些消息到 SignalR 集线器 但是我的 signalR Hub 在我的 MV
  • 使用相同的 URL 哈希刷新 BackboneJS? [复制]

    这个问题在这里已经有答案了 我当前的主干应用程序有一个 url localhost users 有没有办法访问localhost users当位于 URL 时localhost users所以它会刷新页面 目前 当我在localhost u
  • 使用关联类实现双向、多对多关联的流畅 NHibernate 映射

    我在 EntityA 和 EntityB 之间有一个双向多对多关联 并且我使用关联类 EntityABLink 对此进行建模 因为我需要跟踪有关该关系的其他属性 此外 我还有另一个类 它保存对 EntityA 和 EntityB 之间特定关
  • 不固定高度的滚动div

    我需要构建一个动态调整大小的滚动 div div 应动态调整大小以适应屏幕 但如果内容不适合屏幕 它应该显示一个滚动条 因此浏览器自己的滚动条永远不需要激活 我可以通过在 div 中放置另一个 div 并使用来让滚动条出现在 div 中ov
  • 如何获取对象类型

    在我的 Google Apps 脚本应用程序中 我看到以下错误 脚本已完成 但返回值不是受支持的返回类型 如何找出我返回的值的类型 我试过 typeof obj 但我得到的只是它是一个对象 仅当缓存为空并且从电子表格加载数据时才会发生此错误
  • React-native 应用程序在真实的 Android 设备上崩溃

    我正在使用react native 目前开始使用redux并创建了一个应用程序 但是当我在模拟器上运行该应用程序时 它工作正常 然后我通过 USB 将我的手机与 android 6 连接 它也可以工作 但在 Android 8 的其他设备中
  • 如何通过参数包传递引用?

    我有以下代码 include
  • iOS 版本的 Fragment

    谁能告诉我在 Xcode iPhone 中执行以下操作的最佳方法是什么 我有一个主导航屏幕 上面有一些按钮 当用户单击任何按钮时 他们将进入带有更多选项按钮的子导航屏幕 在这里 他们单击任意按钮 就会看到选项列表 单击任何列表选项都会向用户
  • 如何在R函数中使用switch语句?

    我想在 R 中的函数中使用以下语句switch 根据函数参数的值触发不同的计算 例如 在 Matlab 中 您可以通过编写来做到这一点 switch AA case 1 case 2 case 3 end 我找到了这个帖子 switch 语