web-dev-qa-db-fra.com

Comment obtenir des onglets de script non enregistrés

Je voudrais savoir s'il est possible d'obtenir des onglets de script non enregistrés dans R studio. J'ouvre accidentellement et passe à un nouveau projet, puis mes scripts non enregistrés ont disparu. Quelqu'un peut-il m'aider à obtenir mes onglets de script non enregistrés?.

19
Agaz Hussain

Je suppose que vous utilisez Rstudio. En règle générale, il stocke l'intégralité de l'espace de travail, y compris les scripts non enregistrés et l'historique de la console, comme c'est le cas même si vous ne l'enregistrez pas.

Il y a deux choses que vous pouvez faire pour récupérer le code dans ces scripts selon que vous avez exécuté les fichiers ou non.

  • Si vous avez exécuté les scripts dans la console, votre code serait présent dans l'historique de la console enregistré sous fichier Rhistory qui est présent dans le répertoire personnel de la console R. Le répertoire personnel est soit le dossier "Documents", soit le dossier du projet qui était ouvert auparavant.
  • Vous pouvez également essayer d'ouvrir un script enregistré, le cas échéant, qui était ouvert au moment où vous avez basculé vers le nouveau projet. Cela ouvrirait l'espace de travail qui était actif avant de passer au nouveau projet. Vos fichiers doivent être là.

J'espère que cela t'aides.

14
Divya Manglam

Si vous êtes sous Windows, accédez au dossier:

C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources

où se trouvent tous vos onglets non enregistrés dans les dossiers, en particulier ceux qui commencent par s comme s-******.

Il existe deux types de fichiers (par exemple, D395C3B4 et D395C3B4-contents)
D395C3B4 le fichier contient des informations JSON sur votre onglet non enregistré (eg. "tempName" : "Untitled76") et vos codes correspondants sont dans D395C3B4-contents fichier.
Ouvert D395C3B4-contents avec le bloc-notes.

12
Iman

Si quelqu'un cherche toujours la réponse ou cherchera à l'avenir, veuillez lire l'approche de travail ci-dessous


Pour autant que je sache, il n'y a pas de moyen simple de restaurer les onglets de script non enregistrés lors de la dernière session ou avant le crash de Rstudio. Le dossier du projet contient généralement le dossier caché . Rproj.user avec de nombreux sous-dossiers, source database est l'un d'entre eux (brièvement appelé sdb ). Dans les sous-dossiers dans sdb ayant le préfixe "s -" , vous pouvez trouver presque tous les onglets de script non enregistrés au format JSON. Vous pouvez les copier et les utiliser pour obtenir le contenu des onglets de script non enregistrés.

Par exemple, j'ai un fichier nommé BDFFFF92 est présent dans l'emplacement du projet .Rproj.user/586F3E74/sdb/s-DB8D414F/

# reading the JSON file
dataObj <- jsonlite::fromJSON('.Rproj.user/586F3E74/sdb/s-DB8D414F/BDFFFF92', simplifyVector = T)

Le contenu réel dans les scripts non enregistrés sera présent dans contents de l'objet JSON.

# Printing the content from the JSON object
writeLines(dataObj$contents)
8
Prradep

À tous ceux qui n'ont pas pu récupérer leur script même avec le .Rhistory:

Je pourrais récupérer la mienne en recherchant dans le dossier "AppData", situé dans votre lecteur de travail. Pour mon cas, il se trouvait dans "C:\Users\my_user\AppData\Local\RStudio-Desktop". Ensuite, il y a un fichier appelé "history_database" qui l'ouvrait avec le bloc-notes que je pouvais voir TOUS mes codages précédents.

Si vous rouvrez ce fichier dans Rstudio, vous pouvez le voir comme un historique de journal. S'il est trop gros pour voir toutes les entrées, copiez-le simplement dans un bloc-notes et ouvrez-le à nouveau avec R (Ctrl + O). Je ne sais pas pourquoi je n'ai vu cette alternative nulle part ailleurs ...

Je ne fais que commencer dans R, donc pour réorganiser à nouveau le script, j'ai copié "l'historique semblable à un journal" affiché dans R dans un fichier Excel, puis je les ai séparés par du texte en colonnes d'une largeur fixe. C'est ce qui a fonctionné pour moi, aucune autre méthode de récupération ne l'a fait.

5
AR_Domingo

Les projets RStudio peuvent être déroutants au début. En termes plus simples, le projet RStudio fait deux choses:

  1. ouvert à un répertoire de travail pouvant fonctionner sur différents utilisateurs et ordinateurs (par exemple, ne pas commencer par setwd() et générer des conflits avec différents chemins locaux)
  2. créer un espace de travail dans RStudio avec des fichiers R, des données, etc.

Ce qui n'est pas évident, c'est que le paramètre par défaut dans RStudio est de créer des scripts dans "Project: (None)".

Donc, si vous n'avez configuré aucun projet auparavant, pour restaurer vos scripts manquants, vous devez retourner à "Project: (None)" qui contient tout le travail ouvert non affilié à un projet RStudio.

Pour ce faire, allez dans le coin supérieur droit de votre fenêtre RStudio et trouvez le petit menu déroulant à côté du projet Word. Cliquez sur le petit triangle pour obtenir le menu déroulant Projet et sélectionnez "Fermer le projet". Une fois le nouveau projet fermé, vos anciens onglets devraient réapparaître. Le menu déroulant devrait également indiquer maintenant: "Projet: (Aucun)" (encore une fois, cela suppose que vous n'aviez pas configuré de projet pour votre travail précédent).

4
Omar Wasow

J'ai rencontré une situation où RStudio n'a chargé aucun script, aucune des suggestions ci-dessus n'a aidé, cependant, je pouvais voir tous les fichiers sous C:\Users\[your user]\AppData\Local\RStudio-Desktop\sources.

Ce qui m'a aidé, c'est de supprimer lock_file et restart_file. Après cela, lorsque j'ai démarré RStudio, tous les scripts ont été chargés.

0
Tamas Ferenci