[R] how to vectorize a for loop
markleeds at verizon.net
markleeds at verizon.net
Mon Nov 10 05:16:55 CET 2008
hi: below almost gets you there except for the endpoints. see filter for
more information.
d=0.5
L=20
x=seq(20, by=1, length.out=20)
temp <- as.numeric(filter(x,filter=c(d,(1-2*d),d),sides=2))
print(temp)
On Sun, Nov 9, 2008 at 10:57 PM, stephen sefick wrote:
> #Is there a way to vectorize the for loop
> #maybe a fancy indexing trick?
> #thanks
>
> d=0.5
> L=20
> x=seq(20, by=1, length.out=20)
> reflecting <- function(pre, d, L){
> r=L-1
> x=rep(0, L)
> for(j in 2:r){
> x[j]=((1-(2*d))*pre[j])+(d*pre[(j+1)])+(d*pre[(j-1)])
> }
> x[1]=((1-d)*pre[1])+(d*pre[2])
> x[L]=((1-d)*pre[L])+(d*pre[(L-1)])
> y=x
> }
>
> f = reflecting(x, d, L)
> --
> Stephen Sefick
> Research Scientist
> Southeastern Natural Sciences Academy
>
> Let's not spend our time and resources thinking about things that are
> so little or so large that all they really do for us is puff us up and
> make us feel like gods. We are mammals, and have not exhausted the
> annoying little problems of being mammals.
>
> -K. Mullis
>
> ______________________________________________
> R-help at r-project.org mailing list
> 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