[R] Avoiding for loops
Berend Hasselman
bhh at xs4all.nl
Sun Oct 25 13:26:00 CET 2015
> On 25 Oct 2015, at 11:42, Maram SAlem <marammagdysalem at gmail.com> wrote:
>
> Hi All,
>
> I wonder if I can avoid the for() loop in any of the following loops.These
> loops are a part of a larger code which I'm trying to accelerate.
>
> n=6
> m=4
> x<-c(0,1,1)
>
> 1st loop
>
> for (i in 1:m-1)
> {
> d[i]<- n- (sum(x[(1):(i)])) - i
> }
> e<- n*(prod(d))
>
>
On the basis of the other loops I presume you mean
for( in in 1:(m-1))
in stead of what you wrote.
You get the same result with
d <- n - cumsum(x) - (1:(m-1))
Berend
> 2nd loop
>
> LD<-list()
> for (i in 1:(m-1))
> {
> LD[[i]]<-seq(0,x[i],1)
> }
>
> LD[[m]]<-seq(0,(n-m-sum(x)),1)
> LED<-expand.grid (LD)
> LED<-as.matrix(LED)
>
>
> 3rd loop
>
> for (i in 1:(m-1))
>
> {
>
> h[i]<- choose(x[i],LED[j,i])
>
> }
>
>
>
> 4th loop
>
>
> for (i in 1:(m-1))
>
> {
>
> lm[i]<-(sum(LED[j,1:i])) + i
>
> }
>
>
> I appreciate if anyone has any suggestions or references.
>
>
> Thanks in advance.
>
>
> Maram Salem
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.
More information about the R-help
mailing list