R是否可以使用source()来避免要替换的变量?

R是否可以使用source()来避免要替换的变量?,r,R,这是我的临时工 a=1 print(a) 但是当我使用source(“temp.R”)时,变量a被替换 > a=3 > source("temp.R") [1] 1 > a [1] 1 我的期望是 > a=3 > source("temp.R") [1] 1 > a [1] 3 这可以在R中完成吗? 如果您能帮助获得上述结果,我们将不胜感激。请在表达式自身的环境中评估表达式: # write out the file to be sourced fLS

这是我的临时工

a=1
print(a)
但是当我使用source(“temp.R”)时,变量a被替换

> a=3
> source("temp.R")
[1] 1
> a
[1] 1
我的期望是

> a=3
> source("temp.R")
[1] 1
> a
[1] 3
这可以在R中完成吗?
如果您能帮助获得上述结果,我们将不胜感激。

请在表达式自身的环境中评估表达式:

# write out the file to be sourced
fLS = file(description = "Code/8-LocalSource-Input.R", open = "w+")
write(x ="a = 1; print(a)", file = fLS)
close(fLS)

# source the file
a = 3
sourceEnv = new.env()
with(sourceEnv, source("Code//8-LocalSource-Input.R", local = TRUE))
a