[R] Matrix operation with apply family functions

Dimitris.Kapetanakis dimitrios.kapetanakis at gmail.com
Mon Jul 11 22:11:39 CEST 2011


Dear all,

I am trying to use the apply family functions to improve the efficiency of
my code, though it is a bit hard for me to find sometimes the solutions with
these functions. 

The problem that I want to solve is:

I have a matrix of replicated random generated data, e.g. if I have two
controls with 100 observations and replicated the data 100 times then I am
going to have a 100x2000 matrix (odd rows have the control x1 and even rows
control x2). Then I want to multiply a vector of order two in this example
(q in general) by each observation of the random generated data, so at the
end I am going to obtain a 100x1000 matrix.

A solution to the above problem is given by the following code without using
apply family functions and is efficient I think as well, but I would like to
know if there is another way because I think the other way can solve similar
problems that I have and this particular way cannot solve.

x.1<-replicate(1000, rnorm(100,0,1))								
x.2<-replicate(1000, rnorm(100,1,1))																			

Z<-BETA[1,]*x.1+BETA[2,]*x.2

Potential set up of the problem I want to solve with the apply family
functions:

X<-replicate(1000, c(rnorm(n,0,1), rnorm(n,1,1)))							
X<-matrix(X, nrow=100, ncol=2000)

Z<-apply(X, ...???????......)or even better another family apply
function????

Thank you

Dimitris


--
View this message in context: http://r.789695.n4.nabble.com/Matrix-operation-with-apply-family-functions-tp3660702p3660702.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list