R 代码段的条件执行

R 代码段的条件执行,r,R,我正在使用我的笔记本电脑和云设备处理数据集。我只想在云上工作时计算一些计算量大的代码块 到目前为止,我选择了一种不太优雅的方式。我已经为我只想在云中执行的片段添加了OPT前缀。然后,我只需删除这些前缀,并在云中运行脚本 现在我的问题是:是否有一种方法可以在脚本的开头选择是否执行这些段,然后在参数设置为false时跳过这些段?我尝试过使用if条件,但这非常麻烦。要进一步解释docendo discimus的注释,只需在脚本开头定义一个参数: execpart <- TRUE #and cha

我正在使用我的笔记本电脑和云设备处理数据集。我只想在云上工作时计算一些计算量大的代码块

到目前为止,我选择了一种不太优雅的方式。我已经为我只想在云中执行的片段添加了OPT前缀。然后,我只需删除这些前缀,并在云中运行脚本


现在我的问题是:是否有一种方法可以在脚本的开头选择是否执行这些段,然后在参数设置为false时跳过这些段?我尝试过使用if条件,但这非常麻烦。

要进一步解释docendo discimus的注释,只需在脚本开头定义一个参数:

execpart <- TRUE #and change to FALSE if you don't want to execute
您甚至可以在开始时为脚本的不同部分定义多个参数。这将使您可以选择通过一些快速更改来设置脚本的执行


请注意,if查找TRUE/FALSE,因此不需要在if条件中指定execpart==TRUE。

要进一步解释docendo discimus的注释,只需在脚本开头定义一个参数:

execpart <- TRUE #and change to FALSE if you don't want to execute
您甚至可以在开始时为脚本的不同部分定义多个参数。这将使您可以选择通过一些快速更改来设置脚本的执行


请注意,if查找TRUE/FALSE,因此不需要在if条件中指定execpart==TRUE。

如果在RStudio中使用R笔记本,则可以在文档中的不同代码块中包含不同的代码。代码块的定义如下:

```{r}
"hello world!"
```
这样做可以让您非常轻松地只运行您想要运行的块。此外,如果您希望运行所有的块,您可以这样做

任何给定的块都拥有一个名为eval的选项,该选项指示它们是否应该运行。这可以从表达式中获取一个值,因此基本上可以执行以下操作:

```{r label}
is_cloud <- FALSE #or TRUE
```

```{r conditional, eval = is_cloud}
"hello world!"
```

只有当is_cloud为TRUE时,才会执行区块。

如果在RStudio中使用R笔记本,则可以在文档中的不同代码区块中包含不同的代码。代码块的定义如下:

```{r}
"hello world!"
```
这样做可以让您非常轻松地只运行您想要运行的块。此外,如果您希望运行所有的块,您可以这样做

任何给定的块都拥有一个名为eval的选项,该选项指示它们是否应该运行。这可以从表达式中获取一个值,因此基本上可以执行以下操作:

```{r label}
is_cloud <- FALSE #or TRUE
```

```{r conditional, eval = is_cloud}
"hello world!"
```

只有当is_cloud为TRUE时,才会执行区块。

在RStudio R笔记本中,可以方便地将nice与在笔记本标题中使用参数相结合。例如:


在RStudio R笔记本电脑中,可以方便地将nice与在笔记本电脑标题中使用参数相结合。例如:


您可以使用简单的if语句,并在脚本开始时将参数设置为TRUE/FALSE,即在_cloud中,或者您可以创建两个单独的脚本:local.R和cloud.R,并选择适当的脚本源代码。假设您的笔记本电脑是Windows,我们可以执行以下操作:ifSys.info[sysname]!=Windows{…一些重码…}您可以使用简单的if语句,在脚本开始时将参数设置为TRUE/FALSE,即在_cloud中,或者您可以创建两个单独的脚本:local.R和cloud.R,并生成相应的脚本。假设您的笔记本电脑是Windows,我们可以执行以下操作:ifSys.info[sysname]!=Windows{…一些重码…}问题是,他们已经尝试了if语句,发现它们非常麻烦。我想他们是在寻找另一种解决办法。但是,我同意,这可能是最简单的方法。是的,我假设他们以一种过于复杂的方式使用if,因为这种解决方案既不需要花费太多时间也不需要太多代码。我仍然是R的初学者,我正在为每行代码添加if条件。这个带有if{}的版本非常完美,正是我想要的!很高兴我和@docendodiscimus能帮上忙。问题是他们尝试过if语句,发现它们非常麻烦。我想他们是在寻找另一种解决办法。但是,我同意,这可能是最简单的方法。是的,我假设他们以一种过于复杂的方式使用if,因为这种解决方案既不需要花费太多时间也不需要太多代码。我仍然是R的初学者,我正在为每行代码添加if条件。这个带有if{}的版本非常完美,正是我想要的!很高兴我和@docendodiscimus能帮上忙。