m[1:5 + nrow(m)*c(2,3,1,2,1)] <- 0 if m is a matrix. Remember you can index a matrix as a vector.
If m is a data frame (you didn't say what it is) I would loop over columns (not rows) explicitly, since the code is going to do that implicitly. On Mon, 27 Oct 2003 [EMAIL PROTECTED] wrote: > > Hi all > > I want to assign a constant to a different column for each row > > eg: > > m[1,2] <- 0; > m[2,3] <- 0; > m[3,1] <- 0; > m[4,2] <- 0; > m[5,1] <- 0; > ... > > etc... > > i've tried apply/tapply with no luck > > and also the following > > coefs <- rtt.abs[,5:8]; > coefs.i <- coefs[] == 1; > coefs[coefs.i] <- 0; > > wich results in > > "matrix subscripts not allowed in replacement" > > error message, for wich I have not found any workaround > > a trivial for() loop is not fast enough > > any help would be greatly appreciated, (maybe a gun too) I'm disperated :-\ -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help
