I’m working on phased entry with spatial price discrimination. This got spat out, and I’m really enjoying the subtle patterns.

# Tag: coding

# Using “cbind” and “as.vector”: Computationally intensive commands

As perhaps a mere interesting note, *cbind* when combined with *as.vector* can be a particularly RAM-intensive set of commands. I noted the following script excerpt caused my computer to quickly consume 11GB of RAM on a 300k entry dataset. :

for(j in c(1:200)){

mod.out$coefficients$count[1:80]<-lim.my.df[1:80,j]

mod.out$coefficients$zero[1:80]<-lim.my.df[81:160,j]

a<-predict(mod.out,clip.1)

b<-predict(mod.out,clip.mean)

diff.j<-mean(a-b)

# diff[,paste(i,”.”,j)]<-diff.j

diff<-as.vector(cbind(diff,diff.j))

}

The purpose of this script is to use bootstrapped coefficients generate an average partial effect between *clip.1* and *clip.mean*. We will later use this to get a estimate of the standard errors of the APE. As it stands, it eats all my RAM quite promptly and causes the computer to crash. The following script, nearly identical, does not have this problem:

for(j in c(1:200)){

mod.out$coefficients$count[1:80]<-lim.my.df[1:80,j]

mod.out$coefficients$zero[1:80]<-lim.my.df[81:160,j]

a<-predict(mod.out,clip.1)

b<-predict(mod.out,clip.mean)

diff.j<-mean(a-b)

# diff[,paste(i,”.”,j)]<-diff.j

diff<-cbind(diff,diff.j)

}

diff<-as.vector(diff)

And this works just fine! In fact, it barely consumes 25% of my RAM.