为什么采购脚本不能打印到stdout?

时间:2014-09-22 11:04:10

标签: r

在R会话中,我提供了一个简单的r脚本,其内容为:

x = c(1,2)
x

作为

source('my.r')

我想知道为什么在R会话中运行它并没有显示任何输出?

(我发现我可以使用print()来显示x的值。)

感谢。

2 个答案:

答案 0 :(得分:4)

这是配置source的方式。您可以使用选项echoprint.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)
}

编辑:詹姆斯已经更直接地回答了你的问题的“如何”部分。