[R] [SPAM] - Re: for/if loop - Bayesian Filter detected spam

davidr at rhotrading.com davidr at rhotrading.com
Wed Jan 28 23:41:40 CET 2009


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.
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-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of SnowManPaddington
Sent: Wednesday, January 28, 2009 3:59 PM
To: r-help at 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 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