J'exécute R sur Windows et j'ai un fichier csv sur le bureau. Je le charge comme suit,
x<-read.csv("C:\Users\surfcat\Desktop\2006_dissimilarity.csv",header=TRUE)
mais le R donne le message d'erreur suivant
Erreur: '\ U' utilisé sans chiffres hexadécimaux dans la chaîne de caractères commençant par "C: \ U"
Alors, quelle est la bonne façon de charger ce fichier. J'utilise Vista
r
filepath
backslash
path-separator
user297850
la source
la source
Veuillez ne pas marquer cette réponse comme correcte car smitec a déjà répondu correctement. J'inclus une fonction pratique que je garde dans ma bibliothèque .First qui permet de convertir un chemin Windows au format qui fonctionne dans R (les méthodes décrites par Sacha Epskamp). Copiez simplement le chemin dans votre presse-papiers (ctrl + c), puis exécutez la fonction en tant que
pathPrep()
. Pas besoin d'argument. Le chemin est correctement imprimé sur votre console et écrit dans votre presse-papiers pour un collage facile dans un script. J'espère que c'est utile.pathPrep <- function(path = "clipboard") { y <- if (path == "clipboard") { readClipboard() } else { cat("Please enter the path:\n\n") readline() } x <- chartr("\\", "/", y) writeClipboard(x) return(x) }
la source
WP
(chemin Windows) dans le package de développement de rapports.Solution
Essaye ça:
x <- read.csv("C:/Users/surfcat/Desktop/2006_dissimilarity.csv", header=TRUE)
Explication
R n'est pas capable de comprendre correctement les chemins de fenêtres normaux car le
"\"
a une signification particulière - il est utilisé comme caractère d'échappement pour donner une signification spéciale aux caractères suivants (\n
pour newline,\t
pour tab,\r
pour retour chariot, ..., regardez ici ).Parce que R ne connaît pas la séquence dont
\U
il se plaint. Remplacez simplement le"\"
par"/"
ou utilisez un élément supplémentaire"\"
pour échapper"\"
à sa signification particulière et tout fonctionne bien.Alternative
Sur Windows, je pense que la meilleure chose à faire pour améliorer votre flux de travail avec des chemins spécifiques à Windows dans R est d'utiliser par exemple AutoHotkey qui permet des raccourcis clavier personnalisés:
Extrait de code AutoHotkey (lien vers la page d'accueil)
la source
Ma solution consiste à définir un extrait de code RStudio comme suit:
snippet pp "`r gsub("\\\\", "\\\\\\\\\\\\\\\\", readClipboard())`"
Cet extrait de code convertit les contre-obliques
\
en doubles contre-obliques\\
. La version suivante fonctionnera si vous préférez convertir des backslahes en barres obliques/
.snippet pp "`r gsub("\\\\", "/", readClipboard())`"
Une fois votre extrait de code préféré défini, collez un chemin depuis le presse-papiers en tapant p- p- TAB- ENTER(c'est-à-dire pp, puis la touche de tabulation, puis entrez) et le chemin sera inséré comme par magie avec des délimiteurs conviviaux R.
la source
Remplacez les barres obliques \ par des barres obliques / lors de l'exécution de la machine Windows
la source
Le remplacement de la barre oblique inverse par une barre oblique a fonctionné pour moi sous Windows.
la source
La meilleure façon de gérer cela dans le cas d'un fichier txt qui contient des données pour l'exploration de texte (discours, newsletter, etc.) est de remplacer "\" par "/".
Exemple:
file<-Corpus(DirSource("C:/Users/PRATEEK/Desktop/training tool/Text Analytics/text_file_main"))
la source
Je sais que c'est vraiment vieux, mais si vous copiez et collez de toute façon, vous pouvez simplement utiliser:
readClipboard () échappe les barres obliques inverses pour vous. N'oubliez pas de vous assurer que le ".csv" est inclus dans votre copie, peut-être avec ceci:
read.csv(paste0(readClipboard(),'.csv'))
Et si vous voulez vraiment minimiser votre saisie, vous pouvez utiliser certaines fonctions:
setWD <- function(){ setwd(readClipboard()) } readCSV <- function(){ return(readr::read_csv(paste0(readClipboard(),'.csv'))) } #copy directory path setWD() #copy file name df <- readCSV()
la source
Je pense que R lit le «\» dans la chaîne comme un caractère d'échappement. Par exemple \ n crée une nouvelle ligne dans une chaîne, \ t crée un nouvel onglet dans la chaîne.
'\' fonctionnera car R reconnaîtra cela comme une barre oblique inverse normale.
la source
readClipboard()
fonctionne directement aussi. Copiez le chemin dans votre presse-papiersensuite
apparaît comme
[1] "C:\\Users\\surfcat\\Desktop\\2006_dissimilarity.csv"
la source
Un moyen simple consiste à utiliser python. dans le type de terminal python
la source