Vous n'êtes pas identifié.
Vous êtes sur le forum du master ESA !
Le site du master ESA - description de la formation, notes de cours, contacts... vient de déménager !!!
Venez visiter notre nouveau site : www.master-esa.fr
Bonjour,
Est-ce que parmi vous quelqu'un saurait comment créer des macro variables, et des macro programmes comme il est possible de le faire sous SAS mais sous R? Par exemple je souhaite changer la date des fichiers que j'importe ainsi que le nom des dataframes pour ne pas tout recoder.
Pour le moment mes recherches sont infructueuses (mais je persévère !). Ce que j'ai trouvé pour le moment m'oriente vers la fonction paste mais je ne suis pas sûr que cela soit ce qu'il me faut.
Un coup de pouce serait le bienvenu.
Merci d'avance.
Hors ligne
J'ai reçu un message m'indiquant que je ne n'étais pas claire dans ma demande donc d'une part je vais reformuler cela de manière plus concrète et d'autre part je remercie la personne de m'avoir alertée et de vouloir m'aider. (Pour que tout le monde en profite je réponds sur le forum).
Par exemple si nous étions en SAS macro nous pourrions faire ce-ci :
%macro monprg(annee);
data table&annee.;
....
run;
%mend;
%monprg(2015)
%monprg(2016)
%monprg(2017)
Ou encore
%let annee=2015;
infile "monchemin/dossier&annee.";
J'aimerais donc faire l'équivalent en R.
Je précise aussi que la fonction paste n'était pas une bonne piste (ou alors il faudrait peut-être la combiner à autre chose...)
Hors ligne
Salut elsa, as tu essayé de faire tout simplement une boucle for ?
Ce lien pourrait peut être t'aider :
https://www.developpez.net/forums/d1657 … ers-csv-r/
Hors ligne
Bonsoir, elsa
si j'ai bien compris votre question, vous avez deux solutions
1-) stocker la valeur annee dans une variable annee: par exemple
annee=2015
+ votre code r .... (bien entendu vous utiliserez annee à l'interieur de votre programme)
puis lancer le programme.
il vous suffit alors de modifier la valeur de votre variable annee pour relancer le programme de nouveau .par exemple: annee=2016
2-) utiliser rmarkdown avec inclusion du code r et vous choisirez comme paramètre,annee (soit en input slider soit en input select)
Hors ligne
Vos idées me semblent toutes les deux très bonnes! je vous remercie. En plus je pense que je ne suis pas la seule sur le forum pour qui se sera très utile.
Hors ligne
Un jeune ESA m'a aussi gentiment répondu et m'a proposé cette solution, je la partage avec vous :
import=
function(x) {
lien1="C:/Users/GodIsLord/Desktop/ksh" #ici tu mets le liens general où se trouve tout tes fichiers texte
lien2=paste(lien1,"/",x,sep ="")
data=read.table(lien2,header=TRUE) #s'il y a entete alors header=TRUE sinon FALSE
data
}
#maintenant tu appelles à chaque fois tes data
data1=import("txt1.txt") #"txt1.txt", "txt2.txt" est le nom de tes fichiers textes avec EXTENSION à l'appui
data2=import("txt2.txt")
Hors ligne