From: Werner Wernersen <pensterfuzzer_at_yahoo.de>

Date: Fri 25 Mar 2005 - 00:27:14 EST

>> I think there might be a better solution: >> I have a matrix of size 360x501 where I want to check

>> the value of each 5th column of each row and replace it (and the 6th,

>> 7th,

>> 8th column) by zero if the value is less than 1000. I have written a

*>
*

*>
*

*>
*

> Two ways to interpret your question:

*>
*

*> 1) if col5 < 100 replace col5 & col6 & col7 & col8
*

by 0:

*>
*

> X[X[,5] < 1000, 5:8] <- 0

*>
*

*>
*

*> 2) if col5 < 100 replace col5 by 0, if col6 < 100
*

replace col6 by 0, ...:

*>
*

*>
*

> for(i in 5:8)

*> X[X[,i] < 1000, i] <- 0
*

*>
*

*> Uwe Ligges
*

*>
*

*>
*

*>
*

*>
*

*>
*

*>
*

*>
*

*>
*

*>
*

Thanks for all your answers!

Now I did it with

which is so much faster than the double loop.

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Mar 25 00:34:43 2005

Date: Fri 25 Mar 2005 - 00:27:14 EST

Uwe Ligges wrote:

> Werner Wernersen wrote:

*>
*

>> Hi everybody! >> >> I am sorry to bother you with a question so simplebut

>> I think there might be a better solution: >> I have a matrix of size 360x501 where I want to check

>> the value of each 5th column of each row and replace it (and the 6th,

>> 7th,

>> 8th column) by zero if the value is less than 1000. I have written a

>> double loop >> to do that but that requires a lot of time. >> >> Is there a faster way to achieve this?

> Two ways to interpret your question:

by 0:

> X[X[,5] < 1000, 5:8] <- 0

replace col6 by 0, ...:

> for(i in 5:8)

>> Thanks, >> Werner >> >> ______________________________________________ >> R-help@stat.math.ethz.ch mailing list >> https://stat.ethz.ch/mailman/listinfo/r-help >> PLEASE do read the posting guide! >> http://www.R-project.org/posting-guide.html

Thanks for all your answers!

Now I did it with

for (j in seq(3,length(d[1,]),by=5)) { d[d[,j]<1000,j:(j+3)] <- c(0,0,0,0) }

which is so much faster than the double loop.

Thanks again,

Werner

R-help@stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Mar 25 00:34:43 2005

*
This archive was generated by hypermail 2.1.8
: Fri 03 Mar 2006 - 03:30:55 EST
*