[R] how to create column names for the matrix
Hervé Pagès
hpages at fredhutch.org
Wed Jul 27 20:42:23 CEST 2016
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
More information about the R-help
mailing list