2011-03-17 2 views
2

J'ai un onglet fichier texte délimité où il y a des antislashs dans le fichier comme suit:utilisation de read.delim() quand il y a des barres obliques inversées dans les données R

V1  V2 
abc  123 
456  \23 
nyc &^# 

Cependant, quand je l'utilise read.delim('foo.txt'), il ajoute une barre oblique inverse supplémentaire comme suit:

> read.delim('foo.txt') 
     V1 V2 
1  abc 123 
2  456 \\23 
3 nyc &^# 

est-il un moyen de changer un paramètre si ce comportement ne se produit pas?

Répondre

4

Il n'ajoute pas d'antislash supplémentaire. Ça ressemble à ça. Qu'est-ce que nchar (foo $ V2)? \\ est le code pour une seule barre oblique inverse, car \ n est le code pour une nouvelle ligne et ainsi de suite. Donc, si vous voyez \\ n ses deux caractères - une barre oblique inverse et une lettre 'n', mais \ n est un caractère - un retour à la ligne.

C'est un mécanisme d'échappement.

> Z[,1] 
[1] "\\1" 
> nchar(Z[,1]) 
[1] 2 

Son comme la même raison, je dois taper quatre antislashs pour obtenir deux dans cette zone de texte ...

Questions connexes