我最初认为分号;相当于添加一个明确的新行,例如.

x <- 1; y <- 2

x <- 1
x <- 2

当然,R documentation似乎并没有区别于语法完整的语句:

分号和新行都可以用来分隔语句.A.

然而,我发现至少在Rstudio服务器中,分号的行为与新行不同.例如:

> temp_a ; temp_b <- 1 ; temp_c <- 2
Error: object 'temp_a' not found
> exists("temp_b")
[1] FALSE
> exists("temp_c")
[1] FALSE

与…相比

> temp_a
Error: object 'temp_a' not found
> temp_b <- 1
> temp_c <- 2
> 
> exists("temp_b")
[1] TRUE
> exists("temp_c")
[1] TRUE

为什么会这样?还有什么我应该注意的地方吗?

推荐答案

在控制台上,只要a行以完整语句结束,脚本就会被判断.因此,这:

temp_a 
temp_b <- 1 
temp_c <- 2

相当于将其称为:

source(textConnection('temp_a'))
source(textConnection('temp_b <- 1'))
source(textConnection('temp_c <- 2'))

在这种情况下,一旦遇到每一条线路,就会立即对其进行判断,并排除故障

temp_a ; temp_b <- 1 ; temp_c <- 2

相当于将其称为:

source(textConnection('temp_a ; temp_b <- 1 ; temp_c <- 2'))

is个相当于这个

source(textConnection('
temp_a  
temp_b <- 1 
temp_c <- 2'))

因为当第一行失败时,代码的其余部分不会运行.

顺便说一句,如果你想在控制台上模仿这种行为,你可以

{
    temp_a 
    temp_b <- 1 
    temp_c <- 2
}

R相关问答推荐

从R中的地址提取街道名称

在R中使用自定义函数时如何删除该函数的一部分?

在垂直轴中包含多个ggplot2图中的平均值

通过使用str_detect对具有相似字符串的组进行分组

删除列表中存储的数据帧内和数据帧之间的重复行

根据日期从参考帧中创建不同的帧

提取第一个下划线和最后一个下划线之间的任何内容,例外情况除外

将多列合并为单独的名称—值对

在R gggplot2中是否有一种方法将绘图轴转换成连续的 colored颜色 尺度?

使用R中的正则表达式将一列分割为多列

Ggplot2中geom_tile的动态zoom

自定义gggraph,使geom_abline图层仅在沿x轴的特定范围内显示

R -使用矩阵reshape 列表

如何从向量构造一系列双边公式

创建列并对大型数据集中的特定条件进行成对比较的更高效程序

为什么在写入CSV文件时Purrr::Pwalk不起作用

如何删除设置大小的曲线图并添加条形图顶部数字的百分比

如何提取R中其他字符串和数字之间的字符串?

需要一个函数来在第一行创建一个新变量,然后用新变量替换一个不同的变量(对于多行)

使用函数从R中的列中删除标高