Hi All, I would like to ask if it possible to start indexing a vector from 0: x = 1:10 y = c(0,0,3,4,5,6,0,8,9,10) I need to use y as an index to extract the values of x, BUT I cannot cull/transform the 0s. What I would like is to start counting the elements of x 0:9 rather than 1:10. Would this be at all possible? Regards, Federico Calboli -- Federico C. F. Calboli Department of Epidemiology and Public Health Imperial College, St. Mary's Campus Norfolk Place, London W2 1PG Tel +44 (0)20 75941602 Fax +44 (0)20 75943193 f.calboli [.a.t] imperial.ac.uk f.calboli [.a.t] gmail.com
On Jul 24, 2005, at 4:29 PM, Federico Calboli wrote:> Hi All, > > I would like to ask if it possible to start indexing a vector from 0: > > x = 1:10 > > y = c(0,0,3,4,5,6,0,8,9,10) > > I need to use y as an index to extract the values of x, BUT I cannot > cull/transform the 0s. What I would like is to start counting the > elements of x 0:9 rather than 1:10. Would this be at all possible?Is there a reason why you can't add 1 to the x indices, like: x[y+1] Otherwise, you could use a list. Sean
Federico Calboli <f.calboli at imperial.ac.uk> writes:> Hi All, > > I would like to ask if it possible to start indexing a vector from 0: > > x = 1:10 > > y = c(0,0,3,4,5,6,0,8,9,10) > > I need to use y as an index to extract the values of x, BUT I cannot > cull/transform the 0s. What I would like is to start counting the > elements of x 0:9 rather than 1:10. Would this be at all possible?There's a 0array package on CRAN, but why not just add 1 to the index?> x[y+1][1] 1 1 4 5 6 7 1 9 10 NA In general, 0-based indexing is possible, but messes with other things in R, most obviously negative indexes, but also constructions that use match(...., nomatch=0) -- O__ ---- Peter Dalgaard ??ster Farimagsgade 5, Entr.B c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918 ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907