[R] help with vectorizing a function
glucinio.bussotti@libero.it
Glucinio.Bussotti at libero.it
Sat Apr 1 07:54:28 CEST 2006
Dear r-helpers,
I am developing a smoothing function that performs a casewise deletion of all
the non-informative observations in a bivariate dataset following the Poisson -
D'Avril algorythm.
But I am now facing two problems:
1)Being based on loops, the function takes a lot of time before having done its
work and even if I tried I was not able to vectorize it.
2) I cannot control the degree of smoothing.
I have read the posting guide, the FAQ and have also RSiteSearched but without
success.
Can anybody help me?
Here is an example of the procedure:
(i have noticed also a different behaviour on different machines)
##################################
x <- rnorm(1000, sd=15)
y <- -x + rnorm(1000, sd=15)
plot(x, y, ann=F, pch=16,
xlim=c(-50,50), ylim=c(-50, 50), asp=1, col=2)
abline(lm(y ~ x))
metamat<-c( 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0,
1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,
1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0,
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0)
matemot<-c( 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0,
1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0,
1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0,
0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
1, 0, 0, 0)
par(cex=.8, pch=15)
for(j in seq(-46, 60, 7)){
for (i in -64:58){
points(i+rep(1:8, 8), rep(1:8, each=8)-j, col=metamat)
Sys.sleep(0.1)
points(i+rep(1:8, 8), rep(1:8, each=8)-j, col="white")
Sys.sleep(0.1)
points(i+rep(1:8, 8)+1, rep(1:8, each=8)-j, col=matemot)
Sys.sleep(0.1)
points(i+rep(1:8, 8)+1, rep(1:8, each=8)-j, col="white")
}
}
#################
Thank you,
Glucinio
More information about the R-help
mailing list