i'm sorry. i had an error in my previous code because i left out a
letter in the rownames.
while fixing that, i also found a solution. so i'm sorry for the
confusion.
below is my fix.
temp2 <- matrix(rnorm(10),nc=1,nrow=10)
rownames(temp2) <-
c("a","b","c","d","e","f","g","h","i","j")
print(temp2)
temp2 <- as.matrix(temp2[order(temp2[,1,drop=FALSE]),])
print(temp2)
On Wed, Feb 11, 2009 at 1:18 AM, markleeds at verizon.net wrote:
> this is a bad question but I can't figure it out and i've tried. if
i
> sort the 2 column
> matrix , temp1, by the first column, then things work as expected.
> But,
> if I sort the 1 column matrix, temp2, then it gets turned coerced to a
> vector. I realize that I
> need to use drop=FALSE but i've put it in a few different places with
> no success. Thanks.
>
> temp1 <- matrix(rnorm(10),nc=2,nrow=5)
> rownames(temp1) <-
c("a","b","c","d","e")
> print(temp2)
> temp1 <- temp1[order(temp1[,1]),]
> print(temp1)
>
> temp2 <- matrix(rnorm(10),nc=1,nrow=5)
> rownames(temp2) <-
c("a","b","c","d","e","f","g","h","i")
> print(temp2)
> temp2 <- temp2[order(temp2[,1]),] # PROBLEM IS HERE
> print(temp2)
>
> ______________________________________________
> R-help at 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.
try this: temp2 <- temp2[order(temp2[,1]),] # PROBLEM IS HERE dim(temp2) <- c(5,1) print(temp2) On Wed, Feb 11, 2009 at 2:23 PM, <markleeds at verizon.net> wrote:> i'm sorry. i had an error in my previous code because i left out a letter in > the rownames. > while fixing that, i also found a solution. so i'm sorry for the confusion. > > below is my fix. > > temp2 <- matrix(rnorm(10),nc=1,nrow=10) > rownames(temp2) <- c("a","b","c","d","e","f","g","h","i","j") > print(temp2) > temp2 <- as.matrix(temp2[order(temp2[,1,drop=FALSE]),]) > print(temp2) > > > > > > On Wed, Feb 11, 2009 at 1:18 AM, markleeds at verizon.net wrote: > >> this is a bad question but I can't figure it out and i've tried. if i sort >> the 2 column >> matrix , temp1, by the first column, then things work as expected. But, >> if I sort the 1 column matrix, temp2, then it gets turned coerced to a >> vector. I realize that I >> need to use drop=FALSE but i've put it in a few different places with no >> success. Thanks. >> >> temp1 <- matrix(rnorm(10),nc=2,nrow=5) >> rownames(temp1) <- c("a","b","c","d","e") >> print(temp2) >> temp1 <- temp1[order(temp1[,1]),] >> print(temp1) >> >> temp2 <- matrix(rnorm(10),nc=1,nrow=5) >> rownames(temp2) <- c("a","b","c","d","e","f","g","h","i") >> print(temp2) >> temp2 <- temp2[order(temp2[,1]),] # PROBLEM IS HERE >> print(temp2) >> >> ______________________________________________ >> R-help at 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 at 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. >
You want to do:
temp2 <- matrix(rnorm(10),nc=1,nrow=10)
rownames(temp2) <-
c("a","b","c","d","e","f","g","h","i","j")
print(temp2)
o <- order(temp2[,1])
temp2 <- temp2[o,,drop=FALSE]
print(temp2)
Note that it makes no difference if you drop the dimension of a single
column vector or not when passed to order().
/H
On Tue, Feb 10, 2009 at 10:23 PM, <markleeds at verizon.net>
wrote:> i'm sorry. i had an error in my previous code because i left out a
letter in
> the rownames.
> while fixing that, i also found a solution. so i'm sorry for the
confusion.
>
> below is my fix.
>
> temp2 <- matrix(rnorm(10),nc=1,nrow=10)
> rownames(temp2) <-
c("a","b","c","d","e","f","g","h","i","j")
> print(temp2)
> temp2 <- as.matrix(temp2[order(temp2[,1,drop=FALSE]),])
> print(temp2)
>
>
>
>
>
> On Wed, Feb 11, 2009 at 1:18 AM, markleeds at verizon.net wrote:
>
>> this is a bad question but I can't figure it out and i've
tried. if i sort
>> the 2 column
>> matrix , temp1, by the first column, then things work as expected. But,
>> if I sort the 1 column matrix, temp2, then it gets turned coerced to a
>> vector. I realize that I
>> need to use drop=FALSE but i've put it in a few different places
with no
>> success. Thanks.
>>
>> temp1 <- matrix(rnorm(10),nc=2,nrow=5)
>> rownames(temp1) <-
c("a","b","c","d","e")
>> print(temp2)
>> temp1 <- temp1[order(temp1[,1]),]
>> print(temp1)
>>
>> temp2 <- matrix(rnorm(10),nc=1,nrow=5)
>> rownames(temp2) <-
c("a","b","c","d","e","f","g","h","i")
>> print(temp2)
>> temp2 <- temp2[order(temp2[,1]),] # PROBLEM IS HERE
>> print(temp2)
>>
>> ______________________________________________
>> R-help at 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 at 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.
>