Bonjour,
Je bloque sur un truc assez con, et je n'arrive pas à me convaincre qu'il n'y a pas de solutions.
Voici mon cas :
J'ai une fonction qui me permet de sauvegarder mes matrices sur un réseau lambda (fonction déclarer dans un fichier source) :
M est la matrice que je souhaite sauvegarder, "MktVal" est le nom que je vais donner au Rdata et Out Mat est le directory.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MatrixSave(rmend=TRUE,M,"MktVal",OutMat)
Mon truc c'est que j'aimerais qu'une fois sauvée cette fonction supprime, dans l'env ou j'appel la fonction, la matrice M une fois la sauvegarde faîte. (afin de nettoyer la mémoire car mes matrices sont grosses et nombreuses)
Voici le code de ma fonction :
Le hic c'est que j'ai ce message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 MatrixSave2 = function(rmend=FALSE,dta,matrixname,directory) { fn <- file.path(directory, paste(matrixname, "RData", sep = ".")) save(dta, file = fn) if(rmend){ rm(dta, pos=".GlobalEnv") gc(verbose = FALSE) } }
Je comprends bien que dans l'env global la matrice ne s'appelle dta mais M, alors comment faire comprendre que c'est M que je veux supprimer ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part In rm(dta, pos = ".GlobalEnv") : variable "dta" was not found
Merci d'avance pour votre aide
Partager