PHP将数组传递给Rscript
我有一个关于如何将php数组传递给Rscript的问题。 在我的项目中,我需要使用php调用Rscript来运行R代码。但我想在Rscript中传递php数组作为参数。php报告错误:数组到字符串转换!。我不知道该怎么做。如果它能成功地传递参数,我仍然不知道如何读取R中的数组参数。有什么想法吗?提前谢谢! 以下是一个例子:PHP将数组传递给Rscript,php,r,rscript,Php,R,Rscript,我有一个关于如何将php数组传递给Rscript的问题。 在我的项目中,我需要使用php调用Rscript来运行R代码。但我想在Rscript中传递php数组作为参数。php报告错误:数组到字符串转换!。我不知道该怎么做。如果它能成功地传递参数,我仍然不知道如何读取R中的数组参数。有什么想法吗?提前谢谢! 以下是一个例子: #php file <?php $ck=["WT1","WT2"]; $tr=["Al1","Al2"]; exec("Rscript getdata.R $ck $t
#php file
<?php
$ck=["WT1","WT2"];
$tr=["Al1","Al2"];
exec("Rscript getdata.R $ck $tr");
# getdata.R
args <- commandArgs(TRUE)
ck <- args[1]
tr <- args[2]
ckk <- lapply(strsplit(ck,','),as.character)
trr <- lapply(strsplit(tr,','),as.character)
a <- as.dataframe(a=ckk,b=trr)
write.csv(a,file="test.csv")
#php文件
这似乎是将$tr
和$ck
转换为字符串时出现的问题。由于缺乏php方面的经验,我将我的经验建立在其他语言和一些其他问题上
从terminal/cmd执行时,参数应全部为字符串。按照答案中的示例,您可能会使用类似的内容(未测试!)
$ck=[“WT1”、“WT2”];
$tr=[“Al1”,“Al2”];
exec('Rscript getdata.R')。内爆(“,”,$ck)。“”。内爆(“,”,$tr)。”);
请注意,这将在R中以字符串形式返回输入,然后必须将其转换回向量