From andreas.borg at unimedizin-mainz.de  Fri Mar 11 16:22:27 2011
From: andreas.borg at unimedizin-mainz.de (Andreas Borg)
Date: Fri, 11 Mar 2011 16:22:27 +0100
Subject: [Rd] Using missing() in a S4 method with extra arguments
In-Reply-To: <19290_1299852208_4D7A2BB0_19290_9495_1_4D7A2AEB.5030404@fhcrc.org>
References: <4D79F444.4070904@unimedizin-mainz.de>
	<19290_1299852208_4D7A2BB0_19290_9495_1_4D7A2AEB.5030404@fhcrc.org>
Message-ID: <4D7A3E33.7080901@unimedizin-mainz.de>

Hi Martin,

in the real function, I am not dispatching on the argument for which I 
test missingness, but it might be a good idea to do so - this way I 
could make the function tidier by relocating different branches to 
seperate methods. Thanks for the suggestion!

Andreas


> if you're testing for the missing-ness of y, and y is in the function
> signature, then use that for dispatch
>
>    setMethod(fun, c("character", "missing"),
>              function(x=0, y=0, z=0, ...) "missing")
>    setMethod(fun, c("character", "ANY"),
>              function(x=0, y=0, z=0, ...) "not missing")
>
> Since you're dispatching on x and y, it doesn't really make sense (to me
> ;) to assign default values to them. Testing for missing-ness of z would
> I think have to rely on NA / NULL or other sentinel.
>
> Martin
>   

-- 
Andreas Borg
Medizinische Informatik

UNIVERSIT?TSMEDIZIN
der Johannes Gutenberg-Universit?t
Institut f?r Medizinische Biometrie, Epidemiologie und Informatik
Obere Zahlbacher Stra?e 69, 55131 Mainz
www.imbei.uni-mainz.de

Telefon +49 (0) 6131 175062
E-Mail: borg at imbei.uni-mainz.de

Diese E-Mail enth?lt vertrauliche und/oder rechtlich gesch?tzte Informationen. Wenn Sie nicht der
richtige Adressat sind oder diese E-Mail irrt?mlich erhalten haben, informieren Sie bitte sofort den
Absender und l?schen Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe
dieser Mail und der darin enthaltenen Informationen ist nicht gestattet.



[Rd] Using missing() in a S4 method with extra arguments
Andreas Borg