[R] read.table issue with "#"

Sarah Goslee sarah.goslee at gmail.com
Fri Mar 2 15:12:04 CET 2012


The # is the default comment character in read.table(), but that can
easily be changed:

> tc <- textConnection(
+ "yes yes yes yes yes
+ yes yes yes yes yes
+ yes yes # yes yes"
+ )
> x <- read.table(tc, comment.char="")
> x
   V1  V2  V3  V4  V5
1 yes yes yes yes yes
2 yes yes yes yes yes
3 yes yes   # yes yes

There's insufficient context here to know if that was actually
the original problem, but is an alternate solution for what Rui
proposed.

Sarah

On Thu, Mar 1, 2012 at 5:51 PM, Rui Barradas <rui1174 at sapo.pt> wrote:
> Hello,
>
>>
>> The problem is that I get a the following error bacause anything after the
>> # is ignored.
>>
>> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,
>> :
>>   line 6 did not have 500 elements
>>
>> R thinks that line 6 has only 2 elements because of the #.
>>
>
> Use 'readLines' instead, followed by 'strsplit'.
> In the example below the separator is a space.
>
> tc <- textConnection(
> "yes yes yes yes yes
> yes yes yes yes yes
> yes yes # yes yes"
> )
> #x <- read.table(tc)   # same error: "line 3 did not have 5 elements"
> x <- readLines(tc)
> close(tc)
> strsplit(x, " ")
>
> Hope this helps,
>
> Rui Barradas
>
>

-- 
Sarah Goslee
http://www.functionaldiversity.org



More information about the R-help mailing list