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