Ответ 1
Вам нужно избежать \
, так как он сам является escape-символом.
read.table('C:\\xxx\\classes\\R_Prog\\specdata\\data.csv') head(data) }
Я запускаю Windows XP Pro и R Version 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' - это нераспознанный выход в символьной строке, начинающийся с "C:\R"
Есть ли проблема с соглашениями об именах каталогов/папках?
Вам нужно избежать \
, так как он сам является escape-символом.
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
Мне лично легче использовать последнюю.