У меня есть куча R скрипты которые делают некоторые вычисления и возвращают результат. Я планирую создать сайт PHP, чтобы пользователь мог отправить форму, где данные будут переданы в мой R-скрипт, обработаны, а затем вернут результат в PHP и обновят интерфейс.
План состоит в том, чтобы иметь базу данных, поэтому, когда пользователь отправляет форму, данные сохраняются в базе данных, чтобы R мог читать, обрабатывать ввод и затем вставлять результат в базу данных, чтобы PHP мог ее получить. Однако есть 2 проблемы:
Допустим, мой R-скрипт выглядит следующим образом:
range<-1:20
m<-mean(range)
s<-sum(range)
print(m)
print(s)
Как вы видите, вход в этом случае будет 1
а также 20
определить диапазон, а на выходе отобразить значения m
а также s
на моей веб-странице.
Есть идеи, как этого добиться?
Спасибо!
shell_exec()
или же exec()
вероятно, ваш лучший выбор в PHP. Этот ответ объясняет разницу.
echo shell_exec("Rscript my_script.R {$_GET['range']}");
Я не эксперт, но это было сделано:
/ плохой человек
echo "";
echo "Number values to generate:
";
echo "Submit";
echo "";
if(isset($_GET['N']))
{
$N = $_GET['N'];
// execute R script from shell
// this will save a plot at temp.png to the filesystem
exec("Rscript my_rscript.R $N");
// return image tag
$nocache = rand();
echo("");
}
?>
и сценарий R …
args <- commandArgs(TRUE)
N <- args[1]
x <- rnorm(N,0,1)
png(filename="temp.png", width=500, height=500)
hist(x, col="lightblue")
dev.off()