Development

NAVIGATION
CATEGORIES
REFERRENCE
LINKS
  • mirror vector?

    5 answers - 634 bytes - related search similar search Add To My Delicious Add To My Stumble Upon Add To My Google Mark Add To My Facebook Add To My Digg Add To My Reddit

    Hello,
    I'm an absolut beginner with R and now I got a 2D vector with numbers. I would like to mirror this vector now by the rows (so that the first row becomes last, second becomes one before last, ).
    I don't know if there is any method I can use to do this.
    Could you please help me?
    Antje
    Was Sie schon immer wissen wollten aber nie zu Fragen trauten? Yahoo! Clever hilft Ihnen.
    [[alternative HTML version deleted]]
    R-help (AT) stat (DOT) math.ethz.ch mailing list
    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.
  • No.1 | | 1309 bytes | |

    mat <- matrix(1:16,4,4)
    mat
    [,1] [,2] [,3] [,4]
    [1,] 1 5 9 13
    [2,] 2 6 10 14
    [3,] 3 7 11 15
    [4,] 4 8 12 16
    apply(mat,2,rev)
    [,1] [,2] [,3] [,4]
    [1,] 4 8 12 16
    [2,] 3 7 11 15
    [3,] 2 6 10 14
    [4,] 1 5 9 13

    Jacques VESLT

    CNRS UMR 8090
    I.B.L ( )
    1 rue du Professeur Calmette
    B.P. 245
    59019 Lille Cedex

    Tel : 33 (0)3.20.87.10.44
    Fax : 33 (0)3.20.87.10.31

    http://www-good.ibl.fr

    niederlein-rstat (AT) yahoo (DOT) de a :
    Hello,

    I'm an absolut beginner with R and now I got a 2D vector with numbers. I would like to mirror this vector now by the rows (so that the first row becomes last, second becomes one before last, ).
    I don't know if there is any method I can use to do this.
    Could you please help me?

    Antje

    Was Sie schon immer wissen wollten aber nie zu Fragen trauten? Yahoo! Clever hilft Ihnen.
    [[alternative HTML version deleted]]

    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.

    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.
  • No.2 | | 1143 bytes | |

    Hi Antje

    use the fact that n:1 counts backwards from n, and then use this as
    a row index:

    m <- matrix(1:30,5,6)
    m[nrow(m):1,]
    [,1] [,2] [,3] [,4] [,5] [,6]
    [1,] 5 10 15 20 25 30
    [2,] 4 9 14 19 24 29
    [3,] 3 8 13 18 23 28
    [4,] 2 7 12 17 22 27
    [5,] 1 6 11 16 21 26

    [
    a more general answer would be

    library(magic)
    arev(m,1)
    ]

    HTH

    rksh

    28 Jul 2006, at 08:50, <niederlein-rstat (AT) yahoo (DOT) dewrote:

    Hello,

    I'm an absolut beginner with R and now I got a 2D vector with
    numbers. I would like to mirror this vector now by the rows (so
    that the first row becomes last, second becomes one before last, ).
    I don't know if there is any method I can use to do this.
    Could you please help me?

    Antje

    Was Sie schon immer wissen wollten aber nie zu Fragen trauten?
    Yahoo! Clever hilft Ihnen.
    [[alternative HTML version deleted]]

    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    guide.html
    and provide commented, minimal, self-contained, reproducible code.
  • No.3 | | 2526 bytes | |

    Hi

    Not that there's anything wrong with Jacques's answer, but
    the List might be interested in the following gotcha:

    m <- matrix(1:30,5,6)
    apply(m,2,rev)
    [,1] [,2] [,3] [,4] [,5] [,6]
    [1,] 5 10 15 20 25 30
    [2,] 4 9 14 19 24 29
    [3,] 3 8 13 18 23 28
    [4,] 2 7 12 17 22 27
    [5,] 1 6 11 16 21 26
    apply(m,1,rev)
    [,1] [,2] [,3] [,4] [,5]
    [1,] 26 27 28 29 30
    [2,] 21 22 23 24 25
    [3,] 16 17 18 19 20
    [4,] 11 12 13 14 15
    [5,] 6 7 8 9 10
    [6,] 1 2 3 4 5
    >


    See how the first usage of apply() works as expected (at least for
    me ;-)
    but the second returns the transpose of what one might need.
    That's why I wrote arev().

    comments anyone?

    28 Jul 2006, at 08:56, Jacques VESLT wrote:

    >mat <- matrix(1:16,4,4)
    >mat

    [,1] [,2] [,3] [,4]
    [1,] 1 5 9 13
    [2,] 2 6 10 14
    [3,] 3 7 11 15
    [4,] 4 8 12 16
    >apply(mat,2,rev)

    [,1] [,2] [,3] [,4]
    [1,] 4 8 12 16
    [2,] 3 7 11 15
    [3,] 2 6 10 14
    [4,] 1 5 9 13

    Jacques VESLT

    CNRS UMR 8090
    I.B.L ( )
    1 rue du Professeur Calmette
    B.P. 245
    59019 Lille Cedex

    Tel : 33 (0)3.20.87.10.44
    Fax : 33 (0)3.20.87.10.31

    http://www-good.ibl.fr

    --
    niederlein-rstat (AT) yahoo (DOT) de a :
    >Hello,
    >>

    >I'm an absolut beginner with R and now I got a 2D vector with
    >numbers. I would like to mirror this vector now by the rows (so
    >that the first row becomes last, second becomes one before
    >last, ).
    >I don't know if there is any method I can use to do this.
    >Could you please help me?
    >>

    >Antje
    >>

    >
    >
    >Was Sie schon immer wissen wollten aber nie zu Fragen trauten?
    >Yahoo! Clever hilft Ihnen.
    >[[alternative HTML version deleted]]
    >>

    >
    >R-help (AT) stat (DOT) math.ethz.ch mailing list
    >
    >PLEASE do read the posting guide
    >guide.html
    >and provide commented, minimal, self-contained, reproducible code.
    >>

    >


    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    guide.html
    and provide commented, minimal, self-contained, reproducible code.
  • No.4 | | 1836 bytes | |

    Jacques VESLT wrote:
    mat <- matrix(1:16,4,4)
    mat
    [,1] [,2] [,3] [,4]
    [1,] 1 5 9 13
    [2,] 2 6 10 14
    [3,] 3 7 11 15
    [4,] 4 8 12 16
    apply(mat,2,rev)
    [,1] [,2] [,3] [,4]
    [1,] 4 8 12 16
    [2,] 3 7 11 15
    [3,] 2 6 10 14
    [4,] 1 5 9 13

    or a lot faster:

    mat[nrow(mat):1, ]

    Uwe Ligges

    Jacques VESLT

    CNRS UMR 8090
    I.B.L ( )
    1 rue du Professeur Calmette
    B.P. 245
    59019 Lille Cedex

    Tel : 33 (0)3.20.87.10.44
    Fax : 33 (0)3.20.87.10.31

    http://www-good.ibl.fr

    niederlein-rstat (AT) yahoo (DOT) de a :
    >Hello,
    >>

    >I'm an absolut beginner with R and now I got a 2D vector with numbers. I would like to mirror this vector now by the rows (so that the first row becomes last, second becomes one before last, ).
    >I don't know if there is any method I can use to do this.
    >Could you please help me?
    >>

    >Antje
    >>

    >
    >
    >Was Sie schon immer wissen wollten aber nie zu Fragen trauten? Yahoo! Clever hilft Ihnen.
    >[[alternative HTML version deleted]]
    >>

    >
    >R-help (AT) stat (DOT) math.ethz.ch mailing list
    >
    >PLEASE do read the posting guide
    >and provide commented, minimal, self-contained, reproducible code.
    >>


    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.

    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.
  • No.5 | | 2239 bytes | |

    Another approach is:

    mat[nrow(mat):1, ]

    Patrick Burns
    patrick (AT) burns-stat (DOT) com
    +44 (0)20 8525 0696
    http://www.burns-stat.com
    (home of S Poetry and "A Guide for the Unwilling S User")

    Jacques VESLT wrote:

    mat <- matrix(1:16,4,4)
    mat
    [,1] [,2] [,3] [,4]
    >[1,] 1 5 9 13
    >[2,] 2 6 10 14
    >[3,] 3 7 11 15
    >[4,] 4 8 12 16

    apply(mat,2,rev)
    [,1] [,2] [,3] [,4]
    >[1,] 4 8 12 16
    >[2,] 3 7 11 15
    >[3,] 2 6 10 14
    >[4,] 1 5 9 13
    >
    >
    >Jacques VESLT
    >
    >CNRS UMR 8090
    >I.B.L ( )
    >1 rue du Professeur Calmette
    >B.P. 245
    >59019 Lille Cedex
    >
    >Tel : 33 (0)3.20.87.10.44
    >Fax : 33 (0)3.20.87.10.31
    >
    >http://www-good.ibl.fr
    >
    >
    >
    >niederlein-rstat (AT) yahoo (DOT) de a :


    >
    >>Hello,
    >>
    >>I'm an absolut beginner with R and now I got a 2D vector with numbers. I would like to mirror this vector now by the rows (so that the first row becomes last, second becomes one before last, ).
    >>I don't know if there is any method I can use to do this.
    >>Could you please help me?
    >>
    >>Antje
    >>

    >
    >>
    >>Was Sie schon immer wissen wollten aber nie zu Fragen trauten? Yahoo! Clever hilft Ihnen.
    >>[[alternative HTML version deleted]]
    >>
    >>
    >>R-help (AT) stat (DOT) math.ethz.ch mailing list
    >>
    >>PLEASE do read the posting guide
    >>and provide commented, minimal, self-contained, reproducible code.
    >>

    >
    >>

    >
    >
    >R-help (AT) stat (DOT) math.ethz.ch mailing list
    >
    >PLEASE do read the posting guide
    >and provide commented, minimal, self-contained, reproducible code.
    >
    >


    R-help (AT) stat (DOT) math.ethz.ch mailing list

    PLEASE do read the posting guide
    and provide commented, minimal, self-contained, reproducible code.

Re: mirror vector?


max 4000 letters.
Your nickname that display:
In order to stop the spam: 4 + 3 =
QUESTION ON "Development"

EMSDN.COM