[R] read.table mystery
Johannes Graumann
johannes_graumann at web.de
Sun Mar 6 18:47:58 CET 2011
Thank you for pointing this out. This is really inconvenient as I do not
know a priori how many and where those darn cases containing an additional
(or more) ":" might be ...
The seems to work, but will fail if there's a "1:sdfjhlfkh:2:adlkjf"
somewhere (1 & 2 both integerable).
na.exclude(as.integer(scan("/tmp/testfile.txt",sep=":",what="integer")))
More robust pointers anyone?
Joh
Sarah Goslee wrote:
> Not so much a mystery. read.table() only looks at the first 5 lines when
> decided how many columns your file has (as described in the Details
> section of the help).
>
> The easiest solution is to add a col.names argument to read.table() with
> the correct number of names.
>
> You may want to also include as.is=TRUE if you don't want your data to
> be imported as factors. If you expect character but have factor you may
> get unexpected results later.
>
> Sarah
>
> On Sun, Mar 6, 2011 at 5:04 AM, Johannes Graumann
> <johannes_graumann at web.de> wrote:
>> Hello,
>>
>> Please have a look at the code below, which I use to read in the attached
>> file. As line 18 of the file reads "1065:>sp|Q9V3T9|ADRO_DROME
>> NADPH:adrenodoxin oxidoreductase, mitochondrial OS=Drosophila
>> melanogaster GN=dare PE=2 SV=1", I expect the code below to produce a 3
>> column data frame with most of the last column empty and line 18 to
>> produce a data.frame row like so:
>>
>> V1
>> 1065
>> V2
>> >sp|Q9V3T9|ADRO_DROME NADPH
>> V3
>> adrenodoxin oxidoreductase, mitochondrial OS=Drosophila
>> melanogaster GN=dare PE=2 SV=1
>>
>> Why is that not so?
>>
>> Thanks for any hint.
>>
>> Sincerely, Joh
>>
>> read.table(
>> "/tmp/testfile.txt",
>> sep=":",
>> header=FALSE,
>> quote="",
>> fill=TRUE
>> )[19,]
>
> ---
> Sarah Goslee
> http://www.functionaldiversity.org
More information about the R-help
mailing list