PHP 将数组传递给 Rscript

PHP pass array to Rscript

我有一个关于如何将 php 数组传递给 Rscript 的问题。 在我的项目中,我需要使用 php 将 Rscript 调用到 运行 R 代码。但是我想在 Rscript.But 中传递 php 数组作为参数,当我这样做时。 php 报告 error:Array 到字符串转换!。我不知道该怎么做。如果能顺利通过parameter.I 还是不知道如何读取R.Any中的数组参数思路?提前致谢! 这是一个例子:

#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")

这似乎是将 $tr$ck 转换为字符串的问题。缺乏 php 方面的经验,我的经验基于其他语言和其他一些问题。

从 terminal/cmd 执行时,参数应全部为字符串。按照答案 here 中的示例,您可能会使用类似于(未经测试!)

的内容
$ck=["WT1","WT2"];
$tr=["Al1","Al2"];
exec('Rscript getdata.R "' . implode(",", $ck) . '" "' . implode(",", $tr) . '"');

请注意,这将 return 作为 R 中的字符串输入,然后必须将其转换回向量。