At the risk of beating the decaying skeletal remains of the stone dead horse, a one-liner:
t(apply(mat,1,function(x)c(unique(x),rep(NA,sum(duplicated(x)))))) (probably more efficient as a 2-liner that calls duplicated/unique only once, though) -- Bert Gunter, Genentech -----Original Message----- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of markle...@verizon.net Sent: Thursday, February 12, 2009 1:05 PM To: Rolf Turner Cc: r-help@r-project.org; Jason Shaw Subject: Re: [R] Extending each element in a list, or rbind()-ing arrays of different length without recycling Thanks Rolf. very nice but "pretty easy" is ALWAYS a relative statement. On Thu, Feb 12, 2009 at 3:59 PM, Rolf Turner wrote: > On 13/02/2009, at 9:06 AM, markle...@verizon.net wrote: > >> Hi Jason: below seems to work. you have to take the transpose because >> the apply >> returns the rows transposed. i'm also not sure how to make the NAs be >> the last >> ones but maybe someone can show us how to do that. > > Pretty easy: > > na.at.end <- function(x){ > i <- is.na(x) > c(x[!i],rep(NA,sum(i))) > } > >> >> mat <- matrix(c(2,7,2,7,9,10,10,6,8,6,1,9,7,2,0),byrow=TRUE,nrow=3) >> print(mat) >> >> t(apply(mat,1, function(.row) { >> .row[duplicated(.row)] <- NA >> .row >> })) > > Then just change to: > > t(apply(mat,1, function(.row) { > .row[duplicated(.row)] <- NA > na.at.end(.row) > })) > > cheers, > > Rolf > > ###################################################################### > Attention: This e-mail message is privileged and confidential. If you > are not the intended recipient please delete the message and notify > the sender. Any views or opinions presented are solely those of the > author. > > This e-mail has been scanned and cleared by MailMarshal > www.marshalsoftware.com > ###################################################################### ______________________________________________ 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. ______________________________________________ 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.