我在使用RGui(64位)的Windows中使用r 我使用source命令执行.r文件。
source('do_something.r')
几乎没有问题:
示例:我想打印值10
do_something.r内容:仅限于以下行 ARG1
获取以下错误:
> source('do_something.r') 10
Error: unexpected numeric constant in "source('do_something.r') 10"
我该如何解决?什么应该是传递参数的正确语法?我四处搜索并没有什么真正清楚(只有我理解的是需要编写函数等...哎哟我不是一个程序员,我是DBA :))。我是r的新手。
答案 0 :(得分:0)
确实没有"命令行的概念"对于R解析器。如果它在" do_something.r"中找到一个函数调用,它将执行一个完整的函数调用。在继续执行可能跟随正确分隔符的任何表达式之前的文件,分号。在源代码完成之前,解析器不会将尾随表达式传递给求值程序,因此不会"参见"任何后面的表达式。你有两个选择:
要从RGui控制台执行此操作,您需要执行以下操作:
val <- 10; source("do_something.r") # set value first, then `source`
使用&#34;真实&#34;命令行(不是来自RGui),试试这个(假设do_something.r中的代码将访问名为val
的变量):
Rscript do_something.r -e 'val <- 10'
有关详细信息和示例,请参阅?Rscript
。