【问题标题】:R - how to execute certain blocks of code based on a set of conditions without using functions?R - 如何在不使用函数的情况下根据一组条件执行某些代码块?
【发布时间】:2021-08-24 12:37:24
【问题描述】:

这可能是一个非常基本的问题,但我正在努力寻找一个直接的答案。 我在脚本的开头有一个特定的标准,这将涉及根据某些条件执行某些代码块,其中 A 和 B 是某些代码块。

如果条件 1 为真。运行A+B

如果条件 2 为真。运行A

如果条件 3 为真。运行B

将设置上述条件,以便三个条件中只有一个为真。 我考虑过将 A 和 B 制作成单独的函数(没有输入参数,只运行该块中的内容),但从搜索中我认为这样做不是最佳实践。有一个更好的方法吗? 谢谢

编辑 - 添加我只想将代码块 A 和 B 维护为一个实体的信息。 IE。不必使用循环在整个脚本中维护 A 和 B 的多个副本。

【问题讨论】:

  • 我相信你可以只使用 if 条件块(或 ifelseif),不需要函数。
  • 对不起,迈克,我没有正确提出问题,所以我添加了更多信息。我基本上只想维护每个代码块的一个副本。因此,如果我要使用 if 和 elseif 语句,如果您理解我的意思,我将在脚本中拥有代码块 A 和 B 的多个副本。
  • 也许让你的代码块起作用?您能否在问题中包含可重现的代码块示例?
  • @BarneyOnion,我认为它仍然可以工作——试着写出下面的伪代码

标签: r function if-statement block


【解决方案1】:

如我上面所说,我认为你可以根据条件使用块,假设你将变量cond设置为1、2或3(对应于上面),我认为你应该可以做到无需多次维护 A & B 的代码或使用以下伪代码使用函数即可:

if(cond == 1 | cond == 2) {
   RUN CODE A HERE
}
if(cond == 1 | cond == 3) {
   RUN CODE B HERE
}

【讨论】:

  • 您说的完全正确,可以使用这样的逻辑来做到这一点。非常感谢您的帮助。
  • 没问题——我很高兴它成功了!!!你介意接受答案吗?
  • 完成 - 作为一个新用户,我不知道该怎么做,所以我不得不查一下。再次感谢。
猜你喜欢
  • 2016-06-18
  • 1970-01-01
  • 1970-01-01
  • 2016-03-15
  • 1970-01-01
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多