From osklyar at maninvestments.com  Mon Sep 22 19:27:34 2008
From: osklyar at maninvestments.com (Sklyar, Oleg (London))
Date: Mon, 22 Sep 2008 18:27:34 +0100
Subject: [Rd] Extract method for a new class
In-Reply-To: <7A2D90F7A83A7547AE23FFC56E88D4F2C4B50E@scomp0039.wurnet.nl>
References: <mailman.17.1221818408.18628.r-devel@r-project.org> 
	<7A2D90F7A83A7547AE23FFC56E88D4F2C4B50E@scomp0039.wurnet.nl>
Message-ID: <1A68FCB28DE72F4BA3B967E6506CCE4303049794@mildnpexmb01.maninvestments.ad.man.com>

You will need to define several for different combinations of i and j
types e.g. ANY,missing; ANY,ANY; missing,ANY or possibly for types like
integer, character and logical more or less in the following way:

setMethod("[", signature(x="haplogList", i="ANY",j="ANY"),
	function(x, i, j, ..., drop=TRUE) {
		## do whatever you want here; your class is not derived
from a list
 		## so we cannot use NextMethod
	}
)

Dr Oleg Sklyar
Research Technologist
AHL / Man Investments Ltd
+44 (0)20 7144 3107
osklyar at maninvestments.com 

> -----Original Message-----
> From: r-devel-bounces at r-project.org 
> [mailto:r-devel-bounces at r-project.org] On Behalf Of Coster, Albart
> Sent: 19 September 2008 16:00
> To: r-devel at r-project.org
> Subject: [Rd] Extract method for a new class
> 
> Dear list,
> 
> I am trying to write a package for simulating meioses in R. 
> We defined a class 'haplotype' which contains the basic units 
> of our simulation:
> 
> setClass("haplotype",representation(snp = "numeric",qtl = "list",
>                                     hID = "numeric",phID0 = 
> "numeric",phID1 = "numeric"),
>                                     prototype = list(hID = 
> 0,phID0 = NaN,phID1 = NaN))
> 
> In addition, we define a class 'haploList', which is just a 
> list of haplotypes:
> 
> setClass("haploList",contains = "list",representation(genDist 
> = "numeric",roundDec = "integer"))
> 
> Most things work fine, but when subsetting a haploList object 
> an object of class list is returned. I realize that I need to 
> write a function for subsetting this new object, and tried to 
> find the code for '[.listof' or something similar could not 
> find it, probably due to a suboptimal understanding of how it 
> is organized. 
> 
> My question is, how could I define a extraction function for 
> my new class that uses all the existing functionality of the 
> Extract function for list? 
> 
> Thanks in advance,
> 
> Albart Coster
> 


**********************************************************************
The contents of this email are for the named addressee(s...{{dropped:22}}



[Rd] Extract method for a new class
Sklyar, Oleg (London