R can't define variable in local(), Error: unexpected symbol in:, Error: unexpected ')' in ")"
R can't define variable in local(), Error: unexpected symbol in:, Error: unexpected ')' in ")"
我正在尝试 运行 在 R 中的 local() 中添加一些代码,因此我的环境中没有一堆讨厌的变量,但我刚刚意识到我无法定义新变量在本地()内。例如:
local(
var1 = 1
print(var1)
)
给我以下错误:
Error: unexpected symbol in:
" var1 = 1
print"
> )
Error: unexpected ')' in ")"
>
但是,如果我在 local() 的 forloop 中创建一个变量,那没问题;以下代码 运行s:
local(
for (v in 1:3) {
var1 = v
print(var1)
}
)
这是为什么?
更新:以下代码有效(如果我将 local() 中的所有内容都包含在大括号中
local(
{var1 = 1
print(var1)}
)
同样,这里有什么区别?
local
有一个主要参数,expr
。您编写的第一个代码将被解释为两个参数。例如,请参见下面的示例,无论 var1
在哪里定义,您的第一个代码的逻辑都可以正常工作。用花括号括起来创建一个表达式对象,该对象成为局部变量的单个参数。 for
循环做同样的事情。
local(
var1 = 1
print(1)
)
#> Error: <text>:4:3: unexpected symbol
#> 3: var1 = 1
#> 4: print
#> ^
由 reprex package (v0.2.0) 创建于 2018-05-01。
查看文档:?`{`。尤其要看例子:
(2+3)
(2+3
4+5)
{2+3}
{2+3
4+5}
我正在尝试 运行 在 R 中的 local() 中添加一些代码,因此我的环境中没有一堆讨厌的变量,但我刚刚意识到我无法定义新变量在本地()内。例如:
local(
var1 = 1
print(var1)
)
给我以下错误:
Error: unexpected symbol in:
" var1 = 1
print"
> )
Error: unexpected ')' in ")"
>
但是,如果我在 local() 的 forloop 中创建一个变量,那没问题;以下代码 运行s:
local(
for (v in 1:3) {
var1 = v
print(var1)
}
)
这是为什么?
更新:以下代码有效(如果我将 local() 中的所有内容都包含在大括号中
local(
{var1 = 1
print(var1)}
)
同样,这里有什么区别?
local
有一个主要参数,expr
。您编写的第一个代码将被解释为两个参数。例如,请参见下面的示例,无论 var1
在哪里定义,您的第一个代码的逻辑都可以正常工作。用花括号括起来创建一个表达式对象,该对象成为局部变量的单个参数。 for
循环做同样的事情。
local(
var1 = 1
print(1)
)
#> Error: <text>:4:3: unexpected symbol
#> 3: var1 = 1
#> 4: print
#> ^
由 reprex package (v0.2.0) 创建于 2018-05-01。
查看文档:?`{`。尤其要看例子:
(2+3)
(2+3
4+5)
{2+3}
{2+3
4+5}