Eu executo o R no Windows e tenho um arquivo csv na área de trabalho. Eu carrego como segue,
x<-read.csv("C:\Users\surfcat\Desktop\2006_dissimilarity.csv",header=TRUE)
mas o R dá a seguinte mensagem de erro
Erro: '\ U' usado sem dígitos hexadecimais na sequência de caracteres começando com "C: \ U"
Qual é a maneira correta de carregar este arquivo. Estou usando o Vista
r
filepath
backslash
path-separator
user297850
fonte
fonte
Não marque esta resposta como correta, pois smitec já respondeu corretamente. Estou incluindo uma função de conveniência que mantenho em minha biblioteca .First, que faz a conversão de um caminho do Windows para o formato que funciona em R (os métodos descritos por Sacha Epskamp). Simplesmente copie o caminho para sua área de transferência (ctrl + c) e execute a função como
pathPrep()
. Não há necessidade de uma discussão. O caminho é impresso no console corretamente e escrito na área de transferência para fácil colagem em um script. Espero que isso seja útil.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) }
fonte
WP
(caminho do Windows) no pacote de desenvolvimento de relatórios.Solução
Experimente isto:
x <- read.csv("C:/Users/surfcat/Desktop/2006_dissimilarity.csv", header=TRUE)
Explicação
R não é capaz de compreender os caminhos normais do Windows corretamente porque o
"\"
tem um significado especial - é usado como caractere de escape para dar significado especial aos caracteres a seguir (\n
para nova linha,\t
para tab,\r
para retorno de carro, ..., dê uma olhada aqui ).Porque R não conhece a sequência,
\U
ele reclama. Basta substituir"\"
por"/"
ou usar um adicional"\"
para escapar"\"
do seu significado especial e tudo funcionará bem.Alternativo
No Windows, acho que a melhor coisa a fazer para melhorar seu fluxo de trabalho com caminhos específicos do Windows em R é usar, por exemplo, AutoHotkey que permite teclas de atalho personalizadas:
Snippet de código do AutoHotkey (link para a página inicial)
fonte
Minha solução é definir um snippet RStudio da seguinte maneira:
snippet pp "`r gsub("\\\\", "\\\\\\\\\\\\\\\\", readClipboard())`"
Este snippet converte barras invertidas
\
em barras invertidas duplas\\
. A versão a seguir funcionará se você preferir converter backslahes em barras normais/
.snippet pp "`r gsub("\\\\", "/", readClipboard())`"
Uma vez que seu trecho preferido é definido, cole um caminho da área de transferência digitando p- p- TAB- ENTER(isto é pp e então a tecla tab e então enter) e o caminho será inserido magicamente com delimitadores R amigáveis.
fonte
Substitua as barras invertidas \ por barras / ao executar uma máquina com Windows
fonte
Substituir a barra invertida por barra funcionou para mim no Windows.
fonte
A melhor maneira de lidar com isso no caso do arquivo txt que contém dados para mineração de texto (fala, boletim informativo, etc.) é substituir "\" por "/".
Exemplo:
file<-Corpus(DirSource("C:/Users/PRATEEK/Desktop/training tool/Text Analytics/text_file_main"))
fonte
Eu sei que isso é muito antigo, mas se você estiver copiando e colando mesmo assim, você pode apenas usar:
readClipboard () escapa as barras invertidas para você. Apenas lembre-se de certificar-se de que o ".csv" esteja incluído em sua cópia, talvez com isto:
read.csv(paste0(readClipboard(),'.csv'))
E se você realmente deseja minimizar a digitação, pode usar algumas funções:
setWD <- function(){ setwd(readClipboard()) } readCSV <- function(){ return(readr::read_csv(paste0(readClipboard(),'.csv'))) } #copy directory path setWD() #copy file name df <- readCSV()
fonte
Acho que R está lendo o '\' na string como um caractere de escape. Por exemplo, \ n cria uma nova linha dentro de uma string, \ t cria uma nova guia dentro da string.
'\' funcionará porque R reconhecerá isso como uma barra invertida normal.
fonte
readClipboard()
funciona diretamente também. Copie o caminho para a sua área de transferênciaC:\Users\surfcat\Desktop\2006_dissimilarity.csv
Então
aparece como
[1] "C:\\Users\\surfcat\\Desktop\\2006_dissimilarity.csv"
fonte
Uma maneira simples é usar o python. no tipo de terminal python
fonte