在R会话中,我提供了一个简单的r脚本,其内容为:
x = c(1,2)
x
作为
source('my.r')
我想知道为什么在R会话中运行它并没有显示任何输出?
(我发现我可以使用print()
来显示x
的值。)
感谢。
答案 0 :(得分:4)
这是配置source
的方式。您可以使用选项echo
和print.eval
:
echo
逻辑;如果为TRUE,则在解析后打印每个表达式, 在评估之前。
print.eval
逻辑;如果为TRUE,则结果为 为每个表达式i打印eval(i);默认值为 回声。
请尝试source("my.r", print.eval=TRUE)
答案 1 :(得分:3)
据我了解,当你运行source
时,你正在启动一个单独的环境,其中source
正在执行,就像任何其他函数一样。因此,x
“打印”该环境中x的值,但控制台是一个环境“向上”链。
尝试,例如,
foo<-function(x) {
x
return(4)
}
编辑:詹姆斯已经更直接地回答了你的问题的“如何”部分。