R中的"+"继续选项

wat*_*wer -2 console r

我是初学者,最近开始使用R而不是Stata,因为它具有开源性质.

我对"+"继续符号有点困惑.

这是我的数据的样子:

head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1
Run Code Online (Sandbox Code Playgroud)

我们来考虑四种情况:

场景1: 我注意到如果我编写以下代码,RStudio会自动附加"+" :

attach(mtcars)  
  cyl.f <- factor(cyl, levels= c(4,6,8),
                labels = c("4 cylinder", "6 cylinder",
                           "8 cylinder")) 
Run Code Online (Sandbox Code Playgroud)

变为:

cyl.f <- factor(cyl, levels= c(4,6,8),
+                 labels = c("4 cylinder", "6 cylinder",
+                            "8 cylinder"))
Run Code Online (Sandbox Code Playgroud)

如您所见,RStudio自动附加"+"

场景2: 如果我在代码末尾添加"+",则由于某些奇怪的原因它不起作用:

cyl.f <- factor(cyl, levels= c(4,6,8),    +
                 labels = c("4 cylinder", "6 cylinder",       +
                            "8 cylinder"))
Run Code Online (Sandbox Code Playgroud)

这会引发错误.

场景3: 如果我在代码的开头添加"+",则由于某些奇怪的原因它不起作用:

cyl.f <- factor(cyl, levels= c(4,6,8),    
          +       labels = c("4 cylinder", "6 cylinder",       
           +                 "8 cylinder"))
Run Code Online (Sandbox Code Playgroud)

这会引发错误.这是可以理解的,因为RStudio会自动添加另一个"+"继续运算符.

场景4:

windows()
ggplot(data=mtcars, aes(x=wt, y=mpg))   +
  geom_point()  +
  labs(title="Automobile Data", x="Weight", y="Miles Per Gallon")
Run Code Online (Sandbox Code Playgroud)

如果我不添加"+",这不起作用.显然,似乎"+"是上面的"管道"操作员.

现在,挑战在于我无法谷歌搜索或搜索SO,因为搜索引擎都认为"+"是OR运算符.

当"+"是"继续"的操作员以及它是"管道"的操作员时,有人可以解释.

我很感激任何想法和详细解释.这对我来说非常困惑.

Rol*_*and 7

您将代码与R控制台显示的提示混淆.所述+在后换行符控制台自动显示是指示进一步输入预计控制台提示.它不是代码的一部分.

为了说明这一点,我检查了继续提示的选项并将其更改为一个示例:

options("continue")
options(continue = "% ")
data.frame(a = 1,
           b = 2)
Run Code Online (Sandbox Code Playgroud)

这在控制台中显示如下:

> options("continue")
$continue
[1] "+ "

> options(continue = "% ")
> data.frame(a = 1,
%            b = 2)
  a b
1 1 2
Run Code Online (Sandbox Code Playgroud)

如您所见,继续提示已从更改+%.请注意,提示始终位于控制台中的相同位置.它们始终是任何输入行的第一个字符,默认情况下它们后跟一个空格字符.

当代码的一部分时,+操作符实际上是一个函数,通常会进行算术加法,但可以为不同的行为定义方法.这就是ggplot2的作用.

PS:如果您正在使用RStudio,我希望您已经创建了一个新文件,并且正在编写一个脚本,您可以从中将代码发送到控制台(例如,按Ctrl+ Enter).一些初学者不知道如何使用RStudio并只是在控制台中写.

  • 请阅读我的答案.a)它不是"操作员".这是一个输入提示. (2认同)