[BioC] Scan not respecting what

James W. MacDonald jmacdon at med.umich.edu
Thu Aug 26 19:21:22 CEST 2010


Hi Gaston,

On 8/26/2010 1:10 PM, Gaston Fiore wrote:
> Thanks Martin, now it gives integers. Why isn't this in the described
> in the R Documentation, however? From there:
>
> what: the type of ‘what’ gives the type of data to be read.  The
> supported types are ‘logical’, ‘integer’, ‘numeric’, ‘complex’,
> ‘character’, ‘raw’ and ‘list’.  If ‘what’ is a list, it is assumed
> that the lines of the data file are records each containing
> ‘length(what)’ items (‘fields’) and the list components should have
> elements which are one of the first six types listed or ‘NULL’, see
> section ‘Details’ below.
>
> I don't see anywhere that I should specify 1L as opposed to
> 'integer', even though that seems to be the correct way of achieving
> what I wanted since it works. Any comments?

As with much documentation (not just R!), the actual meaning of the 
words used is clear a posteriori, but maybe not a priori.

Look at the description of 'what' again. It says "the *type* of 'what' 
gives the type of data to be read".

Now is the type of "integer" integer, or is it character? Any of 
'logical', 'integer', 'numeric', 'complex', etc are all character 
strings that describe something else.

But the help doesn't say that you should give something that describes 
what you are scan()ning, but something that is of the *type* of what you 
are scan()ning.

So on first read, it is pretty confusing (I was confused too), but if 
you look carefully at what is written, it is clear.

But if you really object to the wording, you can always submit patches 
to the documentation on the R-devel list, which is how Open Source 
projects get improved.

Best,

Jim


>
> Thanks,
>
> -Gaston
>
>
> On Aug 26, 2010, at 1:00 AM, Martin Morgan wrote:
>
>> On 8/25/2010 9:57 PM, Martin Morgan wrote:
>>> On 8/25/2010 9:21 PM, Gaston Fiore wrote:
>>>> Hello everyone,
>>>>
>>>> By some (strange to me) reason, scan isn't respecting the what
>>>> argument:
>>>>
>>>>> temp<- scan(file = "~/data/WT/NS20WTR1ChrReadsF.txt", what =
>>>>> 'integer', sep = ",", quote = 'NULL', comment.char = "")
>>>> Read 26042606 items
>>>>> class(temp)
>>>> [1] "character"
>>>>> typeof(temp)
>>>> [1] "character"
>>>>
>>>> I'm new to R, and I apologize if the mistake is obvious, but
>>>> could someone explain to me why this is the case?
>>> Hi Gaston --
>>>
>>> The 'what' argument is an instance of the data type to be parsed,
>>> so what=integer() or what=1.
>>
>> That last should be what=1L; the  'L' is R's way of saying that the
>> whole number should be an integer rather than a numeric. Martin
>>>
>>> Hope that helps.
>>>
>>> Martin
>>>> Thanks a lot,
>>>>
>>>> -Gaston
>>>>
>>>> _______________________________________________ Bioconductor
>>>> mailing list Bioconductor at stat.math.ethz.ch
>>>> https://stat.ethz.ch/mailman/listinfo/bioconductor Search the
>>>> archives:
>>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>>
>>>
>>>>
_______________________________________________
>>> Bioconductor mailing list Bioconductor at stat.math.ethz.ch
>>> https://stat.ethz.ch/mailman/listinfo/bioconductor Search the
>>> archives:
>>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>>
>
>>>
> _______________________________________________ Bioconductor mailing
> list Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor Search the
> archives:
> http://news.gmane.org/gmane.science.biology.informatics.conductor

-- 
James W. MacDonald, M.S.
Biostatistician
Douglas Lab
University of Michigan
Department of Human Genetics
5912 Buhl
1241 E. Catherine St.
Ann Arbor MI 48109-5618
734-615-7826
**********************************************************
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues 



More information about the Bioconductor mailing list