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