On Wed, Jan 28, 2009 at 2:41 PM, <dav...@rhotrading.com> wrote: > Well, maybe you are just bad at typing then ;-) > > The lines rr==ii, pp==pp+1, etc. are not setting rr and pp but comparing > them. > Probably you want rr <- ii and pp <- pp+1, etc. > And the last line of your loop 'ii=ii+1' means that, > since the for statement is already incrementing ii, > you are incrementing it twice and skipping the even indices. Omit this > line probably.
That is actually not the case (because of the scoping rules for for(), I think). Example: > for (ii in 1:5) { print(ii); ii <- ii + 1; } [1] 1 [1] 2 [1] 3 [1] 4 [1] 5 Another "counter intuitive" (though it isn't) example: for (ii in 1:3) { cat("Outer ii:",ii,"\n"); for (ii in ii:3) { cat(" Inner ii:",ii,"\n"); } } Outer ii: 1 Inner ii: 1 Inner ii: 2 Inner ii: 3 Outer ii: 2 Inner ii: 2 Inner ii: 3 Outer ii: 3 Inner ii: 3 My $.02 /Henrik > You are also forgetting(?) the operator precedence in > sum(lselb1[rr:ii-1]) and similar lines. > Note that this is equivalent to sum(lselb1[(rr-1):(ii-1)]); is that what > you meant? > Or did you want sum(lselb1[rr:(ii-1)])? > You are changing some variables but not asking R to print anything as > far as I can see. > To see the results, ask R to print hll. > > HTH, > -- David > > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] > On Behalf Of SnowManPaddington > Sent: Wednesday, January 28, 2009 3:59 PM > To: r-help@r-project.org > Subject: [SPAM] - Re: [R] for/if loop - Bayesian Filter detected spam > > > Hi ya, I've revised the code (and finally know what I m doing.. :-D) > > The good news is.. I dont get any error message, but the bad news is the > following optim generate no results. I still think there is something to > do > with my loop... can anyone advice? Thanks again!!! > > > > pp=1 > rr=1 > > for (ii in 1:n){ > if (!(panel[ii] == pp)){ > hll[pp,1] == sum(lselb1[rr:ii-1]) > hll[pp,2] == sum(lselb2[rr:ii-1]) > rr==ii > pp==pp+1 > } > > if (ii==n){ > hll[pp,1] == sum(lselb1[rr:ii]) > hll[pp,2] == sum(lselb2[rr:ii]) > rr==ii > pp==pp+1 > } > ii=ii+1 > } > > > > > > pp=1 > rr=1 > > for (ii in 1:n){ > if (!(panel[ii] == pp)){ > hll[pp,1] == sum(lselb1[rr:ii-1]) > hll[pp,2] == sum(lselb2[rr:ii-1]) > rr==ii > pp==pp+1 > } > > if (ii==n){ > hll[pp,1] == sum(lselb1[rr:ii]) > hll[pp,2] == sum(lselb2[rr:ii]) > rr==ii > pp==pp+1 > } > ii=ii+1 > } > > > > > > SnowManPaddington wrote: >> >> Hi, it's my first time to write a loop with R for my homework. This > loop >> is part of the function. I wanna assign values for hll according to > panel >> [ii,1]=pp. I didn't get any error message in this part. but then when > I >> further calculate another stuff with hll, the function can't return. I >> think it must be some problem in my loop. Probably something stupid or >> easy. But I tried to look for previous posts in forum and read R > language >> help. But none can help.. Thanks! >> >> >> >> for (ii in 1:100){ >> for (pp in 1:pp+1){ >> for (rr in 1:rr+1){ >> if (panel[ii,1]!=pp) >> { >> hll(pp,1)=ColSums(lselb1(rr:ii-1,1)) >> hll(pp,2)=ColSums(lselb2(rr:ii-1,1)) >> rr=ii >> pp=pp+1 >> } >> else >> { >> hll(pp,1)=ColSums(lselb1(rr:ii,1)) >> hll(pp,2)=ColSums(lselb2(rr:ii,1)) >> rr=ii >> pp=pp+1} >> } >> }}} >> >> >> in fact I have the corresponding Gauss code here. But I really don't > know >> how to write such loop in R. >> >> rr=1; >> ii=1; >> pp=1; >> do until ii==n+1; >> if pan[ii,1] ne pp; >> hll[pp,1]=sumc(lselb1[rr:ii-1,1]); >> hll[pp,2]=sumc(lselb2[rr:ii-1,1]); >> rr=ii; >> pp=pp+1; >> endif; >> if ii==n; >> hll[pp,1]=sumc(lselb1[rr:ii,1]); >> hll[pp,2]=sumc(lselb2[rr:ii,1]); >> rr=ii; >> pp=pp+1; >> endif; >> ii=ii+1; >> endo; >> >> > > -- > View this message in context: > http://www.nabble.com/for-if-loop-tp21701496p21715928.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@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. > > ______________________________________________ > R-help@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. > ______________________________________________ R-help@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.