On Dec 14, 2013, at 7:53 AM, Uwe Ligges wrote:

> David,
> 
> how should R interpret "110+"? It cannot be numeric, perhaps you have not 
> recognized the "+" there?
> 

I specifically included the fragment ofthe much longer file that was throwing 
the error. If this behavior doesn't appear flawed to you, Uwe, then am 
apparently under the misapprehension that it in the past it would have been 
coerced to NA.

-- 
David.



> Uwe
> 
> 
> 
> 
> On 14.12.2013 01:35, David Winsemius wrote:
>> 
>> I thought that setting colClasses to numeric would coerce errant data to NA. 
>> Instead read.table is throwing
>> errors. This is not what I remember from prior experience with read.table 
>> and it is not how I read the help page as promising:
>> 
>> BE<-
>> c("   1841       96           42.26        31.50        73.75 ",
>> "   1841       97           29.56        20.78        50.34 ",
>> "   1841       98           18.71        10.59        29.30 ",
>> "   1841       99           10.48         6.23        16.71 ",
>> "   1841      100            6.14         4.23        10.37 ",
>> "   1841      101            3.31         2.06         5.38 ",
>> "   1841      102            1.50         0.83         2.34 ",
>> "   1841      103            0.33         0.05         0.38 ",
>> "   1841      104            0.00         0.00         0.00 ",
>> "   1841      105            0.00         0.00         0.00 ",
>> "   1841      106            0.00         0.00         0.00 ",
>> "   1841      107            0.00         0.00         0.00 ",
>> "   1841      108            0.00         0.00         0.00 ",
>> "   1841      109            0.00         0.00         0.00 ",
>> "   1841      110+           0.00         0.00         0.00 ",
>> "   1842        0        60290.60     62238.19    122528.79 ",
>> "   1842        1        54893.31     55849.06    110742.37 ",
>> "   1842        2        51991.87     53033.62    105025.49 ",
>> "   1842        3        49697.90     50789.01    100486.91 ",
>> "   1842        4        47598.24     48414.78     96013.02 ",
>> "   1842        5        46202.38     47106.34     93308.72"
>> )
>> #-----------
>>  BELe<-read.table(text=BE,
>>                   header=FALSE, colClasses="numeric", as.is=TRUE)
>> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
>>   scan() expected 'a real', got '110+'
>> 
>> I originally got this when reading from a file, but the error is from 
>> scan(). Was this an unfortunate side-effect of adding the `text` argument to 
>> read.table? It does still persist when the character string is pass through 
>> textConnection tot he file argument:
>> 
>> BELe<-read.table(file=textConnection(BE),
>>                  header=FALSE, colClasses="numeric")
>> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  :
>>   scan() expected 'a real', got '110+'
>> 
>> My memory was that such coercion was effective in past years.
>> 

David Winsemius
Alameda, CA, USA

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to