使用source()时如何传递命令行参数
我在windows中使用r,使用RGui(64位) 我使用source命令执行一个.r文件使用source()时如何传递命令行参数,r,R,我在windows中使用r,使用RGui(64位) 我使用source命令执行一个.r文件 source('do_something.r') 有几个问题: > source('do_something.r') 10 Error: unexpected numeric constant in "source('do_something.r') 10" 如何在命令行上传递参数(在gui中) 示例:我想打印值10 内容:仅在第行下方 arg1 获取以下错误: > source('do
source('do_something.r')
有几个问题:
> source('do_something.r') 10
Error: unexpected numeric constant in "source('do_something.r') 10"
> source('do_something.r') 10
Error: unexpected numeric constant in "source('do_something.r') 10"
我怎样才能解决这个问题?传递参数的正确语法应该是什么?我四处搜索,并没有什么真正清楚的(我唯一理解的是需要编写函数等…哎哟,我不是一个程序员,我是一个DBA:)。我是r的新手
对于R解析器,实际上没有“命令行”的概念。如果在“do_something.r”文件中找到一个函数调用,它将执行一个完整的函数调用,然后再转到任何可能遵循正确分隔符(分号)的表达式。在源代码完成之前,解析器不会将尾部表达式传递给计算器,因此不会“看到”后面的任何表达式。你有两个选择: 要从RGui控制台执行此操作,您需要执行以下操作:
val <- 10; source("do_something.r") # set value first, then `source`
有关更多详细信息和示例,请参见
?Rscript
。您不能将参数传递给源代码,source(“script.R”)
只在当前R会话中执行script.R文件中的代码,因此您可以执行例如x=10;source(“scriptUsingVariableX.R”)
。无论如何,如果您喜欢命令行,您可以在窗口中使用Rscript.exe script.R
执行脚本,并在script.R内部使用函数commandArgs()