On 07/27/2016 11:40 AM, Herv? Pag?s wrote:> Hi, > > On 07/27/2016 11:17 AM, lily li wrote: >> Hi all, >> >> I want to ask that how to create column names for a matrix. For example, >> the matrix below, the column names should be: 1-A, 1-B, 1-C, 1-D, 2-A, >> 2-B, >> 2-C, 2-D, 3-A, etc. Thanks for your help. >> >> chars = c('A','B','C','D') >> matrix1 = matrix(nrow = length(1:100), ncol = length(1:5)*length(chars)) >> k = 0 >> for(i in seq(1:length(1:5))){ >> for(j in seq(1:length(chars))){ >> k = k+1 >> matrix1[,k] = c(1:100)[k] >> } >> } > > Also how could you possibly use such level of code obfuscation to > perform such simple initialization of your matrix? > > My 1st advice would be that you slow down and take the time to compare > seq(1:length(1:5)) with 1:length(1:5) with 1:5. It will be a great > learning experience! > > As for initializing your matrix, what about doing > > ncol <- 5 * length(chars) > matrix1 <- matrix(seq_len(ncol), nrow=100, ncol=ncol, byrow=TRUE) > > instead? > > Then set the colnames with: > > colnames(matrix1) <- paste(rep(1:5, length(chars)), chars, sep="-")or maybe colnames(matrix1) <- paste(rep(1:5, each=length(chars)), chars, sep="-") is what you're after. H.> > Cheers, > H. > >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >> 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. >> >-- Herv? Pag?s Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319
Thanks. I shorten a more complex matrix to this example, but use the original structure of the code. The original matrix has all characters instead of 1:5. On Wed, Jul 27, 2016 at 12:42 PM, Herv? Pag?s <hpages at fredhutch.org> wrote:> On 07/27/2016 11:40 AM, Herv? Pag?s wrote: > >> Hi, >> >> On 07/27/2016 11:17 AM, lily li wrote: >> >>> Hi all, >>> >>> I want to ask that how to create column names for a matrix. For example, >>> the matrix below, the column names should be: 1-A, 1-B, 1-C, 1-D, 2-A, >>> 2-B, >>> 2-C, 2-D, 3-A, etc. Thanks for your help. >>> >>> chars = c('A','B','C','D') >>> matrix1 = matrix(nrow = length(1:100), ncol = length(1:5)*length(chars)) >>> k = 0 >>> for(i in seq(1:length(1:5))){ >>> for(j in seq(1:length(chars))){ >>> k = k+1 >>> matrix1[,k] = c(1:100)[k] >>> } >>> } >>> >> >> Also how could you possibly use such level of code obfuscation to >> perform such simple initialization of your matrix? >> >> My 1st advice would be that you slow down and take the time to compare >> seq(1:length(1:5)) with 1:length(1:5) with 1:5. It will be a great >> learning experience! >> >> As for initializing your matrix, what about doing >> >> ncol <- 5 * length(chars) >> matrix1 <- matrix(seq_len(ncol), nrow=100, ncol=ncol, byrow=TRUE) >> >> instead? >> >> Then set the colnames with: >> >> colnames(matrix1) <- paste(rep(1:5, length(chars)), chars, sep="-") >> > > or maybe > > colnames(matrix1) <- paste(rep(1:5, each=length(chars)), chars, sep="-") > > is what you're after. > > H. > > > >> Cheers, >> H. >> >> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> 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. >>> >>> >> > -- > Herv? Pag?s > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpages at fredhutch.org > Phone: (206) 667-5791 > Fax: (206) 667-1319 >[[alternative HTML version deleted]]
I see. But please understand that initializing the values is not the same as setting the colnames. How providing this almost-impossible- to-read initialization code helps with respect to your question which is about setting the colnames? I know people often asked you to show the code in your previous questions on this site. They're right: showing the code helps. But only the code that is relevant to your question. Code that is not relevant to your question is only distracting and confusing. H. On 07/27/2016 11:45 AM, lily li wrote:> Thanks. I shorten a more complex matrix to this example, but use the > original structure of the code. The original matrix has all characters > instead of 1:5. > > > On Wed, Jul 27, 2016 at 12:42 PM, Herv? Pag?s <hpages at fredhutch.org > <mailto:hpages at fredhutch.org>> wrote: > > On 07/27/2016 11:40 AM, Herv? Pag?s wrote: > > Hi, > > On 07/27/2016 11:17 AM, lily li wrote: > > Hi all, > > I want to ask that how to create column names for a matrix. > For example, > the matrix below, the column names should be: 1-A, 1-B, 1-C, > 1-D, 2-A, > 2-B, > 2-C, 2-D, 3-A, etc. Thanks for your help. > > chars = c('A','B','C','D') > matrix1 = matrix(nrow = length(1:100), ncol > length(1:5)*length(chars)) > k = 0 > for(i in seq(1:length(1:5))){ > for(j in seq(1:length(chars))){ > k = k+1 > matrix1[,k] = c(1:100)[k] > } > } > > > Also how could you possibly use such level of code obfuscation to > perform such simple initialization of your matrix? > > My 1st advice would be that you slow down and take the time to > compare > seq(1:length(1:5)) with 1:length(1:5) with 1:5. It will be a great > learning experience! > > As for initializing your matrix, what about doing > > ncol <- 5 * length(chars) > matrix1 <- matrix(seq_len(ncol), nrow=100, ncol=ncol, byrow=TRUE) > > instead? > > Then set the colnames with: > > colnames(matrix1) <- paste(rep(1:5, length(chars)), chars, > sep="-") > > > or maybe > > colnames(matrix1) <- paste(rep(1:5, each=length(chars)), chars, > sep="-") > > is what you're after. > > H. > > > > Cheers, > H. > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org <mailto:R-help at r-project.org> mailing > list -- To UNSUBSCRIBE and more, see > 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. > > > > -- > Herv? Pag?s > > Program in Computational Biology > Division of Public Health Sciences > Fred Hutchinson Cancer Research Center > 1100 Fairview Ave. N, M1-B514 > P.O. Box 19024 > Seattle, WA 98109-1024 > > E-mail: hpages at fredhutch.org <mailto:hpages at fredhutch.org> > Phone: (206) 667-5791 <tel:%28206%29%20667-5791> > Fax: (206) 667-1319 <tel:%28206%29%20667-1319> > >-- Herv? Pag?s Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpages at fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319