通过 args 将字符“&”传递给 R

pass character "&" by args to R

以下R代码将通过命令提示符执行(windows)

# Collect arguments
args <- commandArgs(TRUE)

archivo <- as.character(args[1])

cat(archivo)

像这样

C:\Users\Owner\Desktop>Rscript prueba.r "hola&chao"

问题是命令提示符响应

hola
'chao' is not recognized as an internal or external command,
operable program or batch file.

C:\Users\Owner\Desktop>

我需要 R 接受“&”作为字符并在 cat() 中将它们一起打印出来

我该怎么办? 谢谢

这不是 R 问题,而是 shell 问题。你居然执行了

Rscript prueba.r hola&chao

而不是

Rscript prueba.r "hola&chao"

在Windows命令中shell,

prog1 & prog2

依次执行两个程序,这就是为什么您会看到

的输出
Rscript prueba.r hola

后面是

的输出
chao

另一种可能性是 Rscript 是一个有问题的批处理文件。