Проблемы с путем к файлу в R с использованием Windows (ошибка " шестнадцатеричные цифры в символьной строке)
Я запускаю R в Windows и имею csv-файл на рабочем столе. Я загружаю его следующим образом,
x<-read.csv("C:UserssurfcatDesktop06_dissimilarity.csv",header=TRUE)
но R дает следующее сообщение об ошибке
ошибка:' U 'используется без шестнадцатеричных цифр в символьной строке, начиная с "C:U"
Итак, как правильно загрузить этот файл. Я использую Vista
8 ответов:
заменить все
\с\.он пытается избежать следующего символа в этом случае
UТак вставить\вам нужно вставить экранированный\что это\
пожалуйста, не отмечайте этот ответ как правильный, поскольку smitec уже ответил правильно. Я включаю функцию удобства, которую я держу в своем .Первая библиотека, которая делает преобразование пути windows в формат, который работает в R (методы, описанные Sacha Epskamp). Просто скопируйте путь в буфер обмена (ctrl + c), а затем запустите функцию как
pathPrep(). Нет нужды спорить. Путь печатается на консоль правильно и записывается в буфер обмена для легкой вставки в скрипт. Надеюсь, что это полезно.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) }
решение
попробуйте это:
x <- read.csv("C:/Users/surfcat/Desktop/2006_dissimilarity.csv", header=TRUE)объяснение
R не может правильно понять обычные пути windows, потому что
"\"имеет особое значение - он используется в качестве escape-символа для придания следующим символам особого значения (\nдля перехода на новую строку\tдля tab,\rдля возврата каретки ...,посмотреть здесь).потому что R не знает последовательности
\Uон жалуется. Просто замените"\"С"/"или использовать дополнительный"\"бежать"\"от его особого значения и все работает гладко.альтернатива
на windows, я думаю, что лучше всего сделать, чтобы улучшить свой рабочий процесс с windows конкретных путей в R является использование, например, AutoHotkey, который позволяет для пользовательских горячих клавиш:
- определить горячую клавишу, например Cntr -Shift -V
- назначает ему процедуру, которая заменяет символы в буфер обмена с слэши ...
- когда вы хотите скопировать вставить путь в R вы можете использовать Cntr -Shift -V вместо Cntr -V
- Et-voila
Фрагмент Кода AutoHotkey(ссылка на Домашняя страница)
^+v:: StringReplace, clipboard, clipboard, \, /, All SendInput, %clipboard%
Мое Решение определение фрагмент RStudio следующим образом:
snippet pp "`r gsub("\\", "\\\\\\\\", readClipboard())`"этот фрагмент преобразует символы
\в двойную обратную косую черту\. Следующая версия будет работать, если вы предпочитаете конвертировать обратные слэши в косые черты/.snippet pp "`r gsub("\\", "/", readClipboard())`"как только ваш предпочтительный фрагмент определен, вставьте путь из буфера обмена, введя p -p -TAB -введите (это pp, а затем клавиша tab, а затем enter), и путь будет волшебным образом вставлен с помощью R дружественных разделителей.
лучший способ справиться с этим в случае текстового файла, который содержит данные для анализа текста (речи, бюллетень и т. д.) заменить "\" на "/".
пример:
file<-Corpus(DirSource("C:/Users/PRATEEK/Desktop/training tool/Text Analytics/text_file_main"))
Я думаю, что R читает ' \ ' в строке как escape-символ. Например \n создает новую строку в строке, \t создает новую вкладку в строке.
'\ ' будет работать, потому что R распознает это как обычную обратную косую черту.
простой способ-использовать python. в Python тип терминала
r"C:\Users\surfcat\Desktop\2006_dissimilarity.csv" и ты вернешься 'C:\Users\surfcat\Desktop\2006_dissimilarity.csv'
Comments