2012-10-02 12 views
14

Sto facendo funzionare Windows XP Pro e R versione 2.15.1 R viene installato nella seguente cartella:Errore: ' R' è una via di fuga non riconosciuta in stringa di caratteri di partenza "C: R"

C:\Program Files\R\R-2.15.1

sto cercando di creare una funzione che legge in un file .csv in questo modo:

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

ottengo l'errore

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

c'è un proble m con la mia struttura di directory/le convenzioni di denominazione delle cartelle?

risposta

22

Devi sfuggire allo \ poiché è esso stesso un personaggio di escape.

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

2

È necessario sfuggire alle barre rovesciate. prova a raddoppiarli: c: \\ xxx \\ classes \\ R_Prog \\ ecc.

13

Come nessuno ha chiesto un barra ancora, mi permetta di farlo:

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

trovo slash "più facile per gli occhi" in quanto rende i percorsi più coerente tra sistemi operativi, e neanche tu hai bisogno di scappare da loro. Il che significa che salvi un intero byte ogni volta. Yippie.

5

Nessuno ha suggerito file.path ancora. Ciò concatenare una stringa insieme per formare un percorso di file utilizzando un separatore specifica piattaforma (di default è / su Windows)

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

ho trovato che sia il \ (sfuggire al)

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

e il/solutions funziona:

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

Personalmente trovo più semplice utilizzare quest'ultimo.

+1

Questa risposta non aggiunge nuove informazioni rispetto a quelle già fornite dalle altre risposte. –

Problemi correlati