as.numeric 不工作

as.numeric is not working

我正在使用 R 开发代码并尝试将其与 PHP 集成。在 as.numeric 之后的这段代码中,值将在 logs.txt 上输出为 NA 并且此 N = '"15","20","30","40","50"'; (来自 PHP)

# my_rscript.R

args <- commandArgs(TRUE)
N <- args[1]

N=c(N)

cat(N,file="c:/rlogs.txt",append=TRUE)

N=as.numeric(as.character(N))

cat(N,file="c:/rlogs.txt",append=TRUE)

png(filename="temp.png", width=500, height=500)
hist(N, col="lightblue")
dev.off()

非常感谢你在这方面的帮助。

没有更多细节,您首先需要将输入从单个字符串转换为向量。

也就是需要strsplit,这里gsub去掉多余的引号:

N <- '"15","20","30","40","50"'

as.numeric(N)
# [1] NA
# Warning message:
# NAs introduced by coercion 

N <- strsplit(N, ',')[[1]]
N
# [1] "\"15\"" "\"20\"" "\"30\"" "\"40\"" "\"50\""

N <- gsub('"', '', N)
N
# [1] "15" "20" "30" "40" "50"

N <- as.numeric(N)
N
# [1] 15 20 30 40 50