dear R family,i have a matrix of 444 columns. what i want to do is the following. 1. starting from column 1 i want to select every 37th column on the way. more precisely i want to select column 1, 38,75,112,149 and so on. 2.starting from column 2, i again want to select every 37th column. which means 2,39,76,113,150 and so on. similarly starting from 3 till 37th column. i have tried following loop command which is not working.can anyone plz see whats wrong in that?>for (i in 1:37)>{>a<-e[,e[i]:444]>}> lapply(seq_len(1),function(i) {>a[,c(TRUE, rep(FALSE,1))]>})extremly sorry for bothering you once again.. eliza [[alternative HTML version deleted]]
Hello, ?seq seq(i,444,37) with i = 1,2,3...37 HTH Pascal Le 25/12/2012 14:03, eliza botto a ?crit :> > dear R family,i have a matrix of 444 columns. what i want to do is the following. > 1. starting from column 1 i want to select every 37th column on the way. more precisely i want to select column 1, 38,75,112,149 and so on. > 2.starting from column 2, i again want to select every 37th column. which means 2,39,76,113,150 and so on. > similarly starting from 3 till 37th column. > i have tried following loop command which is not working.can anyone plz see whats wrong in that? >> for (i in 1:37) > >> { > > >> a<-e[,e[i]:444] > > >> } > > >> lapply(seq_len(1), > function(i) { > > >> a[,c(TRUE, rep(FALSE,1))] > > >> }) > extremly sorry for bothering you once again.. > eliza > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at 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. >
HI Eliza, You could try this: set.seed(15) mat1<-matrix(sample(1:2000,1776,replace=TRUE),ncol=444) colnames(mat1)<-paste("Col",1:444,sep="") res<-lapply(seq_len(ncol(mat1)),function(i) mat1[,seq(i,444,37)]) #If you want only this from 1:37, then ?res1<-lapply(1:37,function(i) mat1[,seq(i,444,37)]) A.K. ----- Original Message ----- From: eliza botto <eliza_botto at hotmail.com> To: "r-help at r-project.org" <r-help at r-project.org> Cc: Sent: Tuesday, December 25, 2012 12:03 AM Subject: [R] for loop not working dear R family,i have a matrix of 444 columns. what i want to do is the following. 1. starting from column 1 i want to select every 37th column on the way. more precisely i want to select column 1, 38,75,112,149 and so on. 2.starting from column 2, i again want to select every 37th column. which means 2,39,76,113,150 and so on. similarly starting from 3 till 37th column. i have tried following loop command which is not working.can anyone plz see whats wrong in that?>for (i in 1:37)>{>a<-e[,e[i]:444]>}> lapply(seq_len(1),function(i) {>a[,c(TRUE, rep(FALSE,1))]>})extremly sorry for bothering you once again.. eliza ??? ??? ??? ? ??? ??? ? ??? [[alternative HTML version deleted]] ______________________________________________ R-help at 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.