J'ai toujours trouvé des fichiers de profil de démarrage d'autres personnes à la fois utiles et instructifs sur la langue. De plus, même si j'ai une certaine personnalisation pour Bash et Vim , je n'ai rien pour R.
Par exemple, une chose que j'ai toujours voulu, ce sont des couleurs différentes pour le texte d'entrée et de sortie dans un terminal de fenêtre, et peut-être même la coloration syntaxique.
r
terminal
customization
rprofile
Peter Mortensen
la source
la source
.Rprofile
ne devrait pas inclure de code qui change les résultats. Vous pouvez inclure des éléments qui modifient l'apparence de R (par exempleoptions("width"=160)
) ou le miroir CRAN par défaut (par exempleoptions(repos = c(CRAN = "http://cran.rstudio.com"))
). Cependant, ne chargez pas les packages, ne modifiez pas les options par défaut des fonctions régulièrement utilisées, ne définissez pas la fonction, etc. Votre code doit être autonome et reproduire les résultats sans votre.Rprofile
fichier particulier ..Rprofile
?.Rprofile
est un endroit approprié pour effectuer des changements d'application. Deuxièmement, votre question devrait être une question distincte de SO. J'essaie d'utiliser un modèle similaire à ce que nous avons fait dans notre projet d' inspection des aliments (voir la disposition du code et les étapes d'initialisation en haut de chaque script).Réponses:
Voici le mien. Cela ne vous aidera pas avec la coloration, mais je l'obtiens d'ESS et d'Emacs ...
la source
r
puis de lerm
mettre en forme, vous pouvez le mettre dans unlocal({ })
bloc. Bonne réponse cependant, j'adore la config X11!local({ ... })
comme indiqué danshelp(Startup)
c'est ce que je fais habituellement ces jours-ciRprofile.site
. Je n'ai pas eu besoin du hack X11 depuis un moment :)Bien que je n'aie pas réellement cela dans mon .Rprofile, car cela pourrait casser le code de mes co-auteurs, je souhaite que ce soit la valeur par défaut. Pourquoi?
1) Les vecteurs de caractères utilisent moins de mémoire (mais à peine);
2) Plus important encore, nous éviterions des problèmes tels que:
et
Les facteurs sont importants lorsque vous en avez besoin (par exemple, implémenter la commande dans les graphiques) mais ils sont la plupart du temps une nuisance.
la source
Je déteste taper les mots complets «tête», «résumé», «noms» à chaque fois, donc j'utilise des alias.
Vous pouvez mettre des alias dans votre fichier .Rprofile, mais vous devez utiliser le chemin complet de la fonction (par exemple utils :: head) sinon cela ne fonctionnera pas.
EDIT: pour répondre à votre question, vous pouvez utiliser le pack colorout pour avoir différentes couleurs dans le terminal. Cool! :-)
la source
n
me mordre, personnellement, dans la partie postérieure lors du débogage..startup <- new.env()
assign("h", utils::head, env=.startup)
assign("n", base::names, env=.startup)
assign("ht", function(d) rbind(head(d,6),tail(d,6)) , env=.startup)
assign("s", base::summary, env=.startup)
attach(.startup)
sum <- base::summary
. Ce n'était pas une si bonne idée.colorout
: "" "Ce paquet a été archivé: il utilisait des points d'entrée non-API non autorisés par les politiques CRAN." ""Voici la mienne. J'utilise toujours le référentiel principal de Cran et j'ai du code pour faciliter la source du code du package en cours de développement.
la source
J'aime sauvegarder mon historique de commandes R et le rendre disponible à chaque fois que je lance R:
Dans le shell ou .bashrc:
dans .Profile:
la source
Voici deux fonctions que je trouve utiles pour travailler avec des fenêtres.
Le premier convertit le
\
s en/
.Le second ouvre le répertoire de travail dans une nouvelle fenêtre d'explorateur.
la source
.repath
C'est donc d' entrer dans mon .Rprofile.snippet wpp
`r paste("\"", gsub("\\\\", "/", readClipboard()), "\"", sep = "")`
J'ai cette astuce, plus dynamique, pour utiliser toute la largeur du terminal, qui essaie de lire à partir de la variable d'environnement COLUMNS (sous Linux):
De cette façon, R utilisera toute la largeur même si vous redimensionnez votre fenêtre de terminal.
la source
COLUMNS
n'est pas défini, vous pouvez essayer enwidth = as.integer(system('tput cols',intern=TRUE)
tant que filet de sécurité.La plupart de mes fonctions personnelles et bibliothèques chargées sont dans le script Rfunctions.r
la source
Voici mon ~ / .Rprofile , conçu pour Mac et Linux.
Cela rend les erreurs plus faciles à voir.
Je déteste le choix du menu CRAN, alors mis à un bon.
Plus d'histoire!
Ce qui suit est pour fonctionner sur Mac OSX à partir du terminal (que je préfère grandement à R.app car il est plus stable et vous pouvez organiser votre travail par répertoire; assurez-vous également d'obtenir un bon ~ / .inputrc ). Par défaut, vous obtenez un écran X11, qui n'est pas aussi joli; cela donne à la place un affichage à quartz identique à l'interface graphique. L'
if
instruction est censée attraper le cas lorsque vous exécutez R à partir du terminal sur Mac.Et préchargez quelques bibliothèques,
où util.r est un sac aléatoire de trucs que j'utilise, sous flux.
De plus, comme d'autres personnes mentionnaient la largeur de la console, voici comment je le fais.
Ce n'est pas le cas
.Rprofile
car vous devez le réexécuter à chaque fois que vous redimensionnez la fenêtre du terminal. Je l'ai enutil.r
moi puis je le source au besoin.la source
Voici les miennes:
la source
?new.env
,?assign
et?sys.source
. Si vous ne pouvez pas le faire fonctionner, postez un nouveau Q sur SO et je suis sûr que vous obtiendrez des réponses.my.as.Date
pourrait être remplacé par leLubridate
package. Ai-je raison?la source
Faire en sorte que les cadres de données s'affichent un peu comme «tête», uniquement sans avoir à taper «tête»
(De Comment faire pour que la «tête» soit appliquée automatiquement à la sortie? )
la source
J'ai souvent une chaîne d'appels de débogage que je dois appeler et les décommenter peut être très fastidieux. Avec l'aide de la communauté SO , j'ai opté pour la solution suivante et l'ai insérée dans mon
.Rprofile.site
.# BROWSER
est là pour mes tâches Eclipse afin que j'aie un aperçu des appels du navigateur dans la fenêtre d'affichage des tâches.la source
Le mien n'est pas trop chic:
la source
Je fais beaucoup de travail à partir de bases de données mysql, donc se connecter tout de suite est une aubaine. Je souhaite seulement qu'il y ait un moyen de lister les bases de données disponibles pour ne pas avoir à me souvenir de tous les différents noms.
la source
Le post de Stephen Turner sur .Rprofiles a plusieurs alias et fonctions de démarrage utiles.
Je me retrouve à utiliser son ht et hh souvent.
la source
corner
qui fait la même chose que votrehh
fonction et un peu plus. ;)Voici le mien, y compris certaines des idées mentionnées.
Deux choses que vous voudrez peut-être examiner:
.
la source
J'utilise ce qui suit pour que cacheSweave (ou pgfSweave) fonctionne avec le bouton "Compile PDF" dans RStudio:
la source
Le mien comprend
options(menu.graphics=FALSE)
parce que je aime Désactiver / Supprimer tcltk pop - up pour la sélection miroir en R CRAN .la source
Voici la mienne. Rien de trop innovant. Réflexions sur pourquoi des choix particuliers:
stringsAsFactors
car je trouve extrêmement épuisant de le passer comme argument chaque fois que je lis un fichier CSV. Cela dit, cela m'a déjà causé quelques ennuis mineurs lors de l'utilisation de code écrit sur mon ordinateur habituel sur un ordinateur qui n'avait pas mon .Rprofile. Je le garde, cependant, car les problèmes qu'il a causés pâlissent par rapport aux problèmes de ne pas le régler tous les jours.utils
package auparavantoptions(error=recover)
, il ne trouvera pas de récupération lorsqu'il est placé dans uninteractive()
bloc..db
pour mon paramètre dropbox plutôt queoptions(dropbox=...)
parce que je l'utilise tout le temps à l'intérieurfile.path
et cela économise beaucoup de frappe. Le leader l'.
empêche d'apparaître avecls()
.Sans plus tarder:
la source
Voici un petit extrait à utiliser pour exporter des tables vers LaTeX . Il change tous les noms de colonnes en mode mathématique pour les nombreux rapports que j'écris. Le reste de mon .Rprofile est assez standard et principalement couvert ci-dessus.
la source
J'ai défini mon thème de couleur de réseau dans mon profil. Voici deux autres réglages que j'utilise:
la source
setwd
remplacement fonctionnera mieux en version:utils::assignInNamespace("setwd",function(dir) {on.exit(setWindowTitle(base::getwd())); .Internal(setwd(dir))}, "base")
J'ai une variable d'environnement R_USER_WORKSPACE qui pointe vers le répertoire supérieur de mes packages. Dans .Rprofile, je définis une fonction devlib qui définit le répertoire de travail (pour que data () fonctionne) et source tous les fichiers .R dans le sous-répertoire R. Elle est assez similaire à la fonction l () de Hadley ci-dessus.
la source
J'ai trouvé deux fonctions vraiment nécessaires: d'abord lorsque j'ai défini
debug()
plusieurs fonctions et que j'ai résolu le bogue, je veux doncundebug()
toutes les fonctions - pas une par une. Laundebug_all()
fonction ajoutée comme réponse acceptée ici est la meilleure.Deuxièmement, lorsque j'ai défini de nombreuses fonctions et que je recherche un nom de variable spécifique, il est difficile de le trouver dans tous les résultats de la
ls()
, y compris les noms de fonction. Lalsnofun()
fonction affichée ici est vraiment bonne.la source