executer du R avec PHP

executer du R avec PHP - PHP - Programmation

Marsh Posté le 09-01-2012 à 10:48:29    

Bonjour,
 
Je suis étudiant en L3 MIAGE, et je suis actuellement en stage.
 
Je dois réaliser une plate-forme Web avec une interface R.
Pour commencer je dois créer un petit script permettant de lire un fichier .csv ( ça c'est fait ) puis ensuite créer un script permettant d'executer un petit programme R via PHP.
J'ai tester la commande exec (mon progr R); tout d'abord dans une nouvelle balise <?php ?> , rien ne se passe. et je l'ai aussi tester dans la balise contenant le script permettant de lire mon fichier .csv.
 
je vous affiche ici mes scripts PHP:
 
<?php
$row = 1; // variable indiquant le numéro de la ligne traitée
if (($handle = fopen("data_xy.csv", "r+" )) !== FALSE) {// si le fichier existe, traitement, sinon stop!
    while (($data = fgetcsv($handle, 1000, ";" )) !== FALSE) {// tant que l'on n'est pas arrivée à la fin du fichier
        $num = count($data);// nombre de variable sur la ligne row
        echo "$num champs à la ligne $row:<br />";
        $row++;//on passe à la ligne suivante
        for ($c=0; $c < $num; $c++) {// tant qu'on a pas atteint la dernière variable de la ligne row
            echo $data[$c] . "<br />";
        }
    }
    fclose($handle);// fermeture du fichier
}
 
?>
 
<?php
echo (exec ("exercice.R" ));
?>

 
et le programme R associé:
 
 
 
# Data reading:
data=read.csv(file.choose(),header=T,sep=";",dec="," )       //lit un fichier choisit manuellement dans le disque dur mais ne l'affiche pas sur la console R
 
 
# Model fitting:
linear.model=lm(y~x,data=data)                                     //calcul les paramètres du modèle linéaire
 
# Summary information:                                                
summary(linear.model)
 
//affiche les paramètres du modèle linéaire
// pour le fichier que j'ai ça m'affiche ça, c'est un simple tableau avec 2 colonnes (représentant des coordonnées de points)
/*
Call:
lm(formula = y ~ x, data = data)
 
Residuals:
       Min         1Q     Median         3Q        Max  
-0.0131191 -0.0025067  0.0000646  0.0016565  0.0116565  
 
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 2.004048   0.004196   477.6  < 2e-16 ***
x           2.986734   0.008813   338.9 5.14e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1  
 
Residual standard error: 0.007264 on 7 degrees of freedom
Multiple R-squared: 0.9999,     Adjusted R-squared: 0.9999  
F-statistic: 1.148e+05 on 1 and 7 DF,  p-value: 5.144e-16  
*/
 
 
 
# Graphic:
with(data,plot(x,y))                                     // affiche le nuage de points sur une nouvelle fenêtre sur un graphe
abline(linear.model,col="red",lwd=2)                // rajoute sur le graphe une ligne rouge linéarisant le modèle

 
Je me suis permis de mettre le code ici pour pouvoir être le plus clair possible.
Je ne suis pas vraiment un expert en PHP et le programme R m'étais donner car je n'ai jamais programmer en R.
Actuellement je travail sur windows mais mon projet devra être sur un serveur lancer a partir de linux


Message édité par belzebate le 09-01-2012 à 14:34:15
Reply

Marsh Posté le 09-01-2012 à 10:48:29   

Reply

Marsh Posté le 17-02-2012 à 17:00:57    

Tu dois avoir un problème de droit sur ton fichier "exercice.R". Si ça ne suffit pas, voit pour exécuter le programme en superutilisateur (sudo).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed