将R命令行参数转换为整数向量

Piy*_*ava 4 r rscript

我要读命令行参数R通过Rscript,并使用存储在其中的一些整数运算的值.默认情况下,命令行参数作为字符导入:

#!/usr/bin/env Rscript
arg <- commandArgs(trailingOnly = TRUE)
x = as.vector(arg[1])
class(x)
x
y = as.vector(arg[2])
class(y)
y
cor.test(x,y)
Run Code Online (Sandbox Code Playgroud)

这是此脚本的输出:

$ Rscript Correlation.R 3,3,2 4,8,6
[1] "character"
[1] "3,3,2"
[1] "character"
[1] "4,8,6"
Error in cor.test.default(x, y) : 'x' must be a numeric vector
Calls: cor.test -> cor.test.default
Execution halted
Run Code Online (Sandbox Code Playgroud)

如何将x和y转换为数字向量?

Jea*_*cut 5

你能尝试一下strsplit,as.integer()或as.numeric()吗?

#!/usr/bin/env Rscript
arg <- commandArgs(trailingOnly = TRUE)
x = as.integer(strsplit(arg[1], ",")[[1]])
class(x)
x
y = as.integer(strsplit(arg[2], ",")[[1]])
class(y)
y
cor.test(x,y)
Run Code Online (Sandbox Code Playgroud)