我正在使用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()
我真的很感谢你的帮助。
答案 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