Hi, Try: a <- matrix(0,100,3) a1<- a a2 <- a somerows<- 1:5 b1<- t(replicate(length(somerows),b)) ?a[somerows,]<- b1 head(a) #or ?b2<- rep(b,each=length(somerows)) ?a1[somerows,]<- b2 head(a1) ?identical(a,a1) #[1] TRUE ?somerows2<- c(2,4,7,8,11,14) ?b3 <- rep(b,each=length(somerows2)) ?a2[somerows2,] <- b3 head(a2,15) A.K. hi all, what i want to ask is how to replace rows with a vetor without looping. for example, I have one matrix like this, a<-matrix(0,100,3) and then, I want to replace some of rows with this vector, b<-c(1,2,3) when I use below code, the result is what I want, a[somerows,]<-t(b) result of a[somerows,] is 1 ?2 ?1 2 ?3 ?2 3 ?1 ?3 1 ?2 ?1 2 ?3 ?2 3 ?1 ?3 1 ?2 ?1 actually I want this format below, 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 how can I solve this problem? Thanks,