[R] permutations from vectors out of a matrix
Meyners, Michael, LAUSANNE, AppliedMathematics
Michael.Meyners at rdls.nestle.com
Thu Jan 21 08:26:20 CET 2010
Well, seems it's an assignment, so you should REALLY get them on your
own and not enquire the list. Foolish me...
M.
> -----Original Message-----
> From: einohr2002 at web.de [mailto:einohr2002 at web.de]
> Sent: Mittwoch, 20. Januar 2010 19:32
> To: Meyners,Michael,LAUSANNE,AppliedMathematics; r-help at r-project.org
> Subject: Re: [R] permutations from vectors out of a matrix
>
> Meyners,Michael,LAUSANNE,AppliedMathematics schrieb:
> > Sorry, wrong button. Below a hopefully more helpful solution...
> >
> > Etienne,
> > I don't see the point in avoiding some 'special' packages.
> If you are
> > willing to change your mind in this regard, try one of the
> following
> > solutions that work for me:
> >
> > library(combinat)
> > apply(mat, 2, function(x) unique(permn(x)))
> >
> > # each object in the list contains the permutations from
> once column
> > of
> > mat:
> > apply(mat, 2, function(x) do.call(rbind, unique(permn(x))))
> >
> > # all vectors you wanted in one matrix; note that they are in the
> > rows, so you might want to transpose this:
> > do.call(rbind, apply(mat, 2, function(x) do.call(rbind,
> > unique(permn(x)))))
> >
> > Not sure about the size of your original problem, though, it might
> > take a while. If you still want to avoid the (small!) package, you
> > might consider copying the code for permn from combinat to
> define the
> > function within your file. I guess it works (but didn't
> check) as it
> > does not seem to require any of the other functions of the package.
> >
> > HTH, Michael
> >
> >
> >
> >> -----Original Message-----
> >> From: r-help-bounces at r-project.org
> >> [mailto:r-help-bounces at r-project.org] On Behalf Of Etienne
> >> Stockhausen
> >> Sent: Montag, 18. Januar 2010 19:20
> >> To: r-help at r-project.org
> >> Subject: [R] permutations from vectors out of a matrix
> >>
> >> Dear R-Users,
> >> I'm relativley new to R and have the following problem. I need all
> >> permutations of the vectors created by the collumns of a matrix. I
> >> will give a small example:
> >>
> >> p=3
> >>
> >> n=2^p-1
> >>
> >> #number of obtainable vectors
> >> mat=matrix(0,p,p)
> >> for(i in 1:p)
> >> {
> >> mat[i:1,i]=1/i
> >> }
> >>
> >> mat is now a quadratic matrix and n is the number of the vectors I
> >> try to get when I compute all permutations of the vectors built by
> >> the individual columns. It should work for all quadratic
> matrix and I
> >> want to avoid using some 'special'
> >> packages.
> >> In the example I need the following vectors at the end:
> >> (1,0,0); (0,1,0); (0,0,1); (0.5,0.5,0); (0.5,0,0.5); (0,0.5,0.5);
> >> (1/3,1/3,1/3).
> >> I hope my intention becomes clear.
> >>
> >> I'm looking foward to any ideas and clues that might help me.
> >> Thanks in advance and best regards.
> >>
> >> Etienne
> >>
> >> ______________________________________________
> >> 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.
> >>
> >>
> ---------------------------------------------------------------------
> >> ---
> >>
> >>
> >> Eingehende eMail ist virenfrei.
> >> Von AVG uberpruft - www.avg.de
> >> Version: 9.0.730 / Virendatenbank: 270.14.150/2632 - Ausgabedatum:
> >> 01/19/10 08:34:00
> >>
> >>
> Hey Michael,
>
> thanks a lot for your answer. I hope I can manage it now. The
> problem with the 'small' package is, that I have to solve the
> task without using any package as a 'black box'. Therefore I
> need to get the permutations on my own.
>
> Best regards and thanks again
>
> Etienne
>
More information about the R-help
mailing list