Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP将数组传递给Rscript_Php_R_Rscript - Fatal编程技术网

PHP将数组传递给Rscript

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数组传递给Rscript的问题。 在我的项目中,我需要使用php调用Rscript来运行R代码。但我想在Rscript中传递php数组作为参数。php报告错误:数组到字符串转换!。我不知道该怎么做。如果它能成功地传递参数,我仍然不知道如何读取R中的数组参数。有什么想法吗?提前谢谢! 以下是一个例子:

#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中以字符串形式返回输入,然后必须将其转换回向量