[R] how to create column names for the matrix

lily li chocold12 at gmail.com
Wed Jul 27 20:45:06 CEST 2016


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]]



More information about the R-help mailing list