[R] can I do this with read.table??
Thomas Lumley
tlumley at u.washington.edu
Thu Jan 26 23:49:04 CET 2006
On Thu, 26 Jan 2006, Douglas Grove wrote:
> Hi,
>
> I'm trying to figure out if there's an automated way to get
> read.table to read in my data and *not* convert the character
> columns into anything, just leave them alone. What I'm referring
> to as 'character columns' are columns in the data that are quoted.
> For columns of alphabetic strings (that aren't TRUE or FALSE) I can
> suppress conversion to factor with as.is=TRUE, but what I'd like to
> stop is the conversion of quoted numbers of the form "01","02",...,
> into numeric form.
One approach is to use quote="" to specify that the quote marks are
considered part of the string. Depending on what you are using the data
for, you may then need to strip the quotes off,
eg with sub().
> B<-read.table("a.txt",sep="\t",as.is=TRUE,header=TRUE,quote="")
> B
X.a. X.b.
1 1 "01"
2 2 "02"
3 3 "03"
> sub("^\"(.*)\"$", "\\1", B[[2]])
[1] "01" "02" "03"
-thomas
More information about the R-help
mailing list