[R] Matrix and rownames problem
Marc Schwartz
MSchwartz at MedAnalytics.com
Fri Dec 17 15:56:07 CET 2004
On Fri, 2004-12-17 at 14:34 +0000, Pat Meyer wrote:
> Hi,
> I'm quite new to R, so excuse me if this problem has a simple solution.
It does. It's in FAQ 7.5 "Why do my matrices lose dimensions?"
> I'm working with an array, lets say
>
> i <- array(c(1:3,3:1), dim=c(3,2))
>
> Then I want to give the rows and the columns names:
>
> rownames(i)<-c("a","b","c")
> colnames(i)<-c("d","e")
>
> The result is given below:
>
> d e
> a 1 3
> b 2 2
> c 3 1
>
> Here comes my problem. When I'm taking a submatrix
>
> j<-i[1,1:2]
If you just want the first row, you can use:
j <- i[1, ]
> the result should be (for me) an array of one line, and two colums. Here's
> the result:
>
> d e
> 1 3
>
> When I want to access the rownames of j, it returns NULL. I want it to be
> "a".
>
> On the other side, if I take a submatrix 2x2, there is no problem.
>
> In my problem, rownames(j) must return the name of the extracted row. So I
> don't understand why a 1x2 array is not a normal array.
>
> Could someone help me with this?
>
> Thanx in advance,
As per the FAQ referenced above, use:
> j <- i[1, , drop = FALSE]
> j
d e
a 1 3
HTH,
Marc Schwartz
More information about the R-help
mailing list