有没有办法Rscript -e在多行中提供代码?
这在香草R中是可能的
R --vanilla <<code
a <- "hello\n"
cat(a)
code
Run Code Online (Sandbox Code Playgroud)
但Rscript根据R版本,我使用两种不同的东西.
# R 3.0.2 gives two ignores
Rscript -e '
quote> a <- 3+3
quote> cat(a, "\n")
quote> '
# ARGUMENT 'cat(a,~+~"' __ignored__
# ARGUMENT '")' __ignored__
Rscript -e 'a <- 3+3;cat(a, "\n")'
# ARGUMENT '")' __ignored__
# R 2.15.3 gives an ignore for the multiline, but it works with semicolons
Rscript -e '
quote> a <- 3+3
quote> cat(a, "\n")
quote> '
# ARGUMENT 'cat(a,~+~"\n")' __ignored__
Rscript -e 'a <- 3+3;cat(a, "\n")'
6
Run Code Online (Sandbox Code Playgroud)
我显然使用了错误的语法.这样做的正确方法是什么?
更新:我认为问题是间距和引号.这工作(在Windows上):
Rscript -e "a <- 3+3; cat(a,'\n')"
6
Run Code Online (Sandbox Code Playgroud)
在Mac上,您必须转义转义字符:
Rscript -e 'a <- 3+3; cat(a,"\\n")'
Run Code Online (Sandbox Code Playgroud)
您也可以单独放置每个表达式.
Rscript -e "a <- 3+3" -e "cat(a)"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1538 次 |
| 最近记录: |