You can only have one set of column names and one set of row names per matrix. This is also true for data.frame, but for data.frame you can at least use one of the columns to store a 2nd set of "row names".
Typically people store extra annotation like what you are asking for externally and then at the end to the translation; assuming there is a one-to-one relationship between the attributes your are describing. However, if you really want to do it, you can do some tricks by encoding the two vectors in one vector and decode them afterward, e.g. > names1 <- sprintf("foo%02d", 1:6); [1] "foo01" "foo02" "foo03" "foo04" "foo05" "foo06" > names2 <- sprintf("bar%02d", 6:1); [1] "bar06" "bar05" "bar04" "bar03" "bar02" "bar01" > names <- paste(names1, names2, sep=";"); [1] "foo01;bar06" "foo02;bar05" "foo03;bar04" "foo04;bar03" "foo05;bar02" [6] "foo06;bar01" > x <- matrix(1:6, nrow=6, ncol=4); > rownames(x) <- names; > x [,1] [,2] [,3] [,4] foo01;bar06 1 1 1 1 foo02;bar05 2 2 2 2 foo03;bar04 3 3 3 3 foo04;bar03 4 4 4 4 foo05;bar02 5 5 5 5 foo06;bar01 6 6 6 6 > y <- x[1:3,]; > y [,1] [,2] [,3] [,4] foo01;bar06 1 1 1 1 foo02;bar05 2 2 2 2 foo03;bar04 3 3 3 3 > rownames(y) [1] "foo01;bar06" "foo02;bar05" "foo03;bar04" > t <- strsplit(rownames(y), split=";", fixed=TRUE); > t <- matrix(unlist(t), ncol=length(t)); > t [,1] [,2] [,3] [1,] "foo01" "foo02" "foo03" [2,] "bar06" "bar05" "bar04" /Henrik On Mon, Aug 18, 2008 at 7:40 PM, Hesen Peng <[EMAIL PROTECTED]> wrote: > Ahhhh, I'm doing this because of the project I'm working on. The gene > names in clinical genomic usually have two specifications for one > entry. And I was just wondering whether there is a simple way of > solving that problem. > > 2008/8/19 jim holtman <[EMAIL PROTECTED]>: >> The row names are easy since they are just one line. The column names >> I don't think can be constructed. Why do you want two column names? >> You won't be able to access them. You can always create your own >> object and put the two column names on it. >> >> On Mon, Aug 18, 2008 at 1:20 PM, Hesen Peng <[EMAIL PROTECTED]> wrote: >>> Hi, >>> >>> I'm thinking of presenting the matrix like: >>> >>> Col1.1 Col1.2 Col1.3 >>> Col2.1 Col2.2 Col2.3 >>> Row1.1 Row1.2 123 321 221 >>> Row2.1 Row2.2 234 432 223 >>> >>> Here the Row*.* and Col*.* may be the names of the corresponding >>> rows/columns. Thanks >>> >>> 2008/8/13 jim holtman <[EMAIL PROTECTED]>: >>>> Exactly what are you asking? Can you provide an example of the output >>>> you would expect. >>>> >>>> On Tue, Aug 12, 2008 at 1:21 AM, Hesen Peng <[EMAIL PROTECTED]> wrote: >>>>> Hi all, >>>>> >>>>> I wonder if there is a way to create a matrix with two (or even more) >>>>> column/row names? Thank you very much. >>>>> >>>>> Have a nice day. >>>>> >>>>> -- >>>>> 彭河森 Hesen Peng >>>>> http://hesen.peng.googlepages.com/ >>>>> ______________________________________________ >>>>> R-help@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. >>>>> >>>> >>>> >>>> >>>> -- >>>> Jim Holtman >>>> Cincinnati, OH >>>> +1 513 646 9390 >>>> >>>> What is the problem that you are trying to solve? >>>> >>> >>> >>> >>> -- >>> 彭河森 Hesen Peng >>> http://hesen.peng.googlepages.com/ >>> >> >> >> >> -- >> Jim Holtman >> Cincinnati, OH >> +1 513 646 9390 >> >> What is the problem that you are trying to solve? >> > > > > -- > 彭河森 Hesen Peng > http://hesen.peng.googlepages.com/ > ______________________________________________ > R-help@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. > ______________________________________________ R-help@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.