(typos corrected) Combining the various approaches on the list, here's a simple one-liner that puts the NAs at the end:
t(apply(mat,1,function(r) { dr<-duplicated(r); c( r[!dr], rep(NA,sum(dr)) ) })) If you don't care where the NAs are, the following is a tad shorter and perhaps clearer: mat[ t(apply(mat,1,duplicated)) ] <- NA # modifies mat -s On Fri, Feb 13, 2009 at 12:49 PM, Stavros Macrakis <macra...@alum.mit.edu> wrote: > Combining the various approaches on the list, here's a simple > one-liner that puts the NAs at the end: > > t(apply(mat,1,function(r) { dr<-duplicated(r); c( r[!dr], > rep(NA,sum(dr)) ) )) > > If you don't care where the NAs are, the following is a tad shorter > and perhaps clearer: > > mat[ t(apply(mat,1,duplicated)) ] < -NA # modifies mat > > -s > ______________________________________________ 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.