as.numeric不起作用

时间:2015-06-13 17:48:05

标签: php r stat

我正在使用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()

我真的很感谢你的帮助。

1 个答案:

答案 0 :(得分:2)

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

也就是说,您需要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