Ошибка: "\R" - это нераспознанный escape в символьной строке, начинающейся с "C:\R"
Я работаю под управлением Windows XP Pro, а R версии 2.15.1 R установлена в следующую папку:
C: \ Program Files \ R \ R-2.15.1
Я пытаюсь создать функцию, которая читает в файле.csv следующим образом:
xxx <- function(id, directory, summarize = FALSE) {
data <- read.table('C:\xxx\classes\R_Prog\specdata\data.csv')
head(data)
}
Я получаю ошибку
Ошибка: "\ R" - это нераспознанный escape в символьной строке, начинающейся с "C:\R"
Есть ли проблема с моей структурой каталогов / соглашениями об именах папок?
5 ответов
Вы должны избежать \
так как это сам по себе побег.
read.table('C:\\xxx\\classes\\R_Prog\\specdata\\data.csv') head(data) }
Поскольку никто еще не предложил косую черту, позвольте мне сделать это:
R> list.files("C:/opt", pattern="R")
[1] "R-current" "R-library" "R-local215" "RStudio" "Rtools"
R>
Я считаю, что прямая косая черта "легче на глаз", поскольку она делает пути более согласованными в разных ОС, и вам также не нужно избегать их. Это означает, что вы сохраняете целый байт каждый раз. Yippie.
Никто не предложил file.path
еще. Это объединит строку вместе, чтобы сформировать путь к файлу, используя специфический для платформы разделитель (по умолчанию /
на окнах)
file.path('c:', 'xxx', 'classes', 'R_prog','specdata', 'data.csv')
## [1] "c:/xxx/classes/R_prog/specdata/data.csv"
Тебе нужно убежать от обратной косой черты. попробуйте удвоить их: c:\\xxx\\classes\\R_Prog\\ и т. д.
Я обнаружил, что оба \ (избегая)
C:\\xxx\\classes\\R_Prog\\specdata\\data.csv
и / решения работают:
C:/xxx/classes/R_prog/specdata/data.csv
Мне лично легче использовать последний.