2012-10-02 19 views
14

Tôi đang chạy Windows XP Pro và R Version 2.15.1 R được cài đặt trong thư mục sau:Lỗi: ' R' là một lối thoát không được công nhận trong chuỗi ký tự bắt đầu "C: R"

C:\Program Files\R\R-2.15.1

tôi cố gắng để tạo ra một chức năng mà đọc trong tệp .csv như vậy:

xxx <- function(id, directory, summarize = FALSE) { 
    data <- read.table('C:\xxx\classes\R_Prog\specdata\data.csv') 
    head(data) 
} 

tôi nhận được lỗi

Error: '\R' is an unrecognized escape in character string starting "C:\R"

có một proble m với cấu trúc thư mục/quy ước đặt tên thư mục của tôi?

Trả lời

22

Bạn phải thoát khỏi \ vì nó tự nó là một ký tự thoát.

read.table('C:\\xxx\\classes\\R_Prog\\specdata\\data.csv') head(data) }

2

Bạn cần phải thoát khỏi dấu gạch chéo ngược của mình. hãy thử tăng gấp đôi chúng: c: \\ xxx \\ classes \\ R_Prog \\ v.v.

13

Như không ai đề nghị một dấu gạch chéo nào, cho phép tôi làm như vậy:

R> list.files("C:/opt", pattern="R") 
[1] "R-current" "R-library" "R-local215" "RStudio" "Rtools"  
R> 

tôi thấy dấu gạch chéo "dễ dàng hơn trên mắt" vì nó làm cho con đường nhất quán hơn giữa các HĐH, và bạn không cần phải thoát khỏi chúng. Điều này có nghĩa là bạn tiết kiệm được toàn bộ byte mỗi lần. Yippie.

5

Chưa có ai đề xuất file.path. Điều này sẽ nối một chuỗi với nhau để tạo thành một đường dẫn tập tin bằng cách sử dụng dấu phân cách cụ nền tảng (mặc định là / trên cửa sổ)

file.path('c:', 'xxx', 'classes', 'R_prog','specdata', 'data.csv') 
## [1] "c:/xxx/classes/R_prog/specdata/data.csv" 
-2

tôi đã tìm thấy rằng cả \ (thoát khỏi)

C:\\xxx\\classes\\R_Prog\\specdata\\data.csv 

và/giải pháp hoạt động:

C:/xxx/classes/R_prog/specdata/data.csv 

Cá nhân tôi thấy dễ sử dụng hơn sau này.

+1

Câu trả lời này không thêm bất kỳ thông tin mới nào so với những gì các câu trả lời khác đã cung cấp. –

Các vấn đề liên quan