Enregistrement des objets R (code).R fichiers (R programmation génétique)
Je suis l'aide de R pour de la programmation génétique avec le RGP paquet. L'environnement crée des fonctions qui permettent de résoudre des problèmes. Je veux enregistrer ces fonctions dans leur propre .R fichiers sources. Je ne peux pas pour la vie de me comprendre comment. Une façon que j'ai essayé est ce:
bf_str = print(bf)
save(bf_str,file="MyBestFunction.R"))
bf est tout simplement le meilleur ajustement de la fonction. J'ai essayé aussi comme ceci:
save(bf,file="MyBestFunction.R"))
Le fichier est super bizarre. C'est juste un tas de personnages loufoques
Liées à la R: Tournant RData fichier dans les fichiers de script et Comment imprimer la structure d'un objet R de la console.
bibliothèque(rgp) ...(small caps)
bibliothèque(rgp) ...(small caps)
OriginalL'auteur Zeke Alexandre Nierenberg | 2012-08-16
Vous devez vous connecter pour publier un commentaire.
La façon dont je le comprends votre question, vous souhaitez obtenir une représentation textuelle de l'fonctions et les enregistrer dans un fichier. Pour ce faire, vous pouvez renvoyer la sortie de la R de la console à l'aide de la
sink
fonction.Alors vous pouvez
source
ou ouvrir le fichier à l'aide de R ou d'un autre programme par l'intermédiaire de votre système d'exploitation.EDIT:
À ajouter un commentaire à la fin du fichier, vous pouvez effectuer les opérations suivantes:
Selon votre configuration, vous devrez peut-être modifier
\r\n
pour refléter les caractères de fin de ligne. Cela devrait fonctionner sous DOS/Windows, au moins.la "juste un tas de personnages loufoques" partie a suggéré que peut-être en texte brut, c'est l'objectif. Mais nous allons voir...
Option 1 fonctionne, mais cela ressemble aussi bon. J'aimerais bien un moyen de sortie de certains plus de texte dans le fichier, dans un commentaire, en particulier de son score... Merci
Il ya quelques façons d'inclure des commentaires dans le fichier. Une façon de le faire est ajouté comme une modification ci-dessus. Il pourrait être utile d'inclure un petit exemple de travail si ce n'est pas ce que vous cherchez.
vous devriez avoir ajouté que l'exigence supplémentaire à votre question. Il aurait donné d'autres une chance de répondre, au lieu de seulement l'une réponse en commentaire. J'ai ajouté une solution à votre exigence supplémentaire à ma réponse.
OriginalL'auteur BenBarnes
Vous pouvez utiliser
dump
pour cela. Il permettra d'économiser de l'affectation et de la définition de sorte que vous pouvezsource
plus tard.Mise à jour pour répondre à l'OP de la demande dans les commentaires d'une autre réponse:
Vous pouvez ajouter des attributs à votre fonction pour stocker tout ce que vous voulez. Vous pouvez ajouter un
score
attribut:OriginalL'auteur Joshua Ulrich
Alors que la question a déjà été répondu, je dois mentionner que
dump
a des pièges à éviter et de l'OMI, vous feriez mieux de sauver votre fonction en format binaire viasave
.En particulier,
dump
enregistre uniquement le code de la fonction elle-même, pas tout associé de l'environnement. Cela peut ne pas être un problème ici, mais il pourrait vous mordre à un certain point. Par exemple, supposons que nous avonsPuis
dump("f")
permettra de ne sauvegarder que la définition de la fonction def
, et non de son environnement. Ensuite, si voussource
le fichier résultant,f
ne fonctionnera plus correctement. Cela ne se produit pas si vous utilisezsave
etload
.OriginalL'auteur Hong Ooi
Vous pouvez passer
save
les noms des objets à être enregistrés via lelist
argumentSinon, vous pouvez utiliser dput
et
dget
pour récupérerOriginalL'auteur GSee