Hi, May be this helps: set.seed(42) T <- matrix(sample(1:20,20,replace=TRUE),ncol=5) TEMP <- T T1 <- T for(i in 1: nrow(TEMP)){ for(j in 1: nrow(TEMP)){if (i <= j) T[i, j] <- 0 }} indx <- expand.grid(rep(list(1:nrow(TEMP)),2))[,2:1] T1[as.matrix(indx[indx[,1] <= indx[,2],])] <- 0
#or library(gtools) indx <- permutations(nrow(TEMP),2,1:nrow(TEMP),repeats=TRUE) T1[indx[indx[,1] <= indx[,2],]] <- 0 identical(T,T1) #[1] TRUE A.K. Hello I would like to replace the for loop this below T <- as.matrix(T) for(i in 1: nrow(TEMP)){ for(j in 1: nrow(TEMP)){if (i <= j) T[i, j] <- 0 }} I don't find the function in the doc. Thanks in advance for your help. ______________________________________________ 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.