maybe something along these lines could be helpful: x <- c(0.3, 0.1, 0.2) ########### nx <- length(x) perms <- as.matrix(expand.grid(lapply(1:nx, function(i) c(FALSE, TRUE)))) apply(perms, 1, function(ind) prod(c(x[ind], (1 - x[!ind]))))
I hope it helps. Best, Dimitris ---- Dimitris Rizopoulos Ph.D. Student Biostatistical Centre School of Public Health Catholic University of Leuven Address: Kapucijnenvoer 35, Leuven, Belgium Tel: +32/(0)16/336899 Fax: +32/(0)16/337015 Web: http://www.med.kuleuven.be/biostat/ http://www.student.kuleuven.be/~m0390867/dimitris.htm ----- Original Message ----- From: "Serguei Kaniovski" <[EMAIL PROTECTED]> To: <[email protected]> Sent: Wednesday, November 23, 2005 2:01 PM Subject: [R] vector of permutated products > Given an x-vector with, say, 3 elements, I would like to compute the > following vector of permutated products > > (1-x1)*(1-x2)*(1-x3) > (1-x1)*(1-x2)*x3 > (1-x1)*x2*(1-x3) > x1*(1-x2)*(1-x3) > (1-x1)*x2*x3 > x1*(1-x2)*x3 > x1*x2*(1-x3) > x1*x2*x3 > > Now, I already have the correctly sorted matrix of permutations! So, > the > input looks something like: > > #input > x<-c(0.3,0.1,0.2) > Nx<-length(x) > Ncomb<-2^Nx > permat<-matrix(c(1,1,1,1,1,0,1,0,1,1,0,0,0,1,1,0,1,0,0,0,1,0,0,0),Ncomb,Nx) > > I code the rest as follows: > > #correct but clumsy code > temp1<-t(matrix(rep(x,2^3),3,2^3)) > temp2<-t(matrix(rep(1-x,2^3),3,2^3)) > result<-apply(permat*temp1-(permat-1)*temp2,1,prod) > > But I would like to do without temp1 and temp2. To have something > like > > result<-apply(permat*x-(permat-1)*x,1,prod) > > My problem is that permat*x does not produce permat*temp1 due to the > way > the element-by-element multiplication works in R. Can you help to > simplify the above code? > > Thank you in advance, > Serguei Kaniovski > -- > ___________________________________________________________________ > > Austrian Institute of Economic Research (WIFO) > > Name: Serguei Kaniovski P.O.Box 91 > Tel.: +43-1-7982601-243 Arsenal Objekt 20 > Fax: +43-1-7989386 1103 Vienna, Austria > Mail: [EMAIL PROTECTED] > > http://www.wifo.ac.at/Serguei.Kaniovski > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
