[prev in list] [next in list] [prev in thread] [next in thread]
List: r-help
Subject: Re: [R] R help
From: Ted Harding <ted.harding () wlandres ! net>
Date: 2018-03-31 15:54:05
Message-ID: 1522511645.3833.10.camel () deb2 ! fort ! knox ! uk
[Download RAW message or body]
A. On Sat, 2018-03-31 at 15:45 +0200, Henri Moolman wrote:
> Could you please provide help with something from R that I find rather
> puzzling? In the small program below x[1]=1, . . . , x[5]=5. R also
> finds that x[1]<=5 is TRUE. Yet when you attempt to execute while, R does
> not seem to recognize the condition. Any thoughts on why this happens?
>
> Regards
>
> Henri Moolman
>
> > x=c(1,2,3,4,5)
> > x[1]
> [1] 1
> > i=1
> > x[1]<=5
> [1] TRUE
> > while(x[i]<=5){
> + i=i+1
> + }
> Error in while (x[i] <= 5) { : missing value where TRUE/FALSE needed
If you run the following you should understand why (the only
change is to include "print(i)" in the loop, so you can see
what is happening):
x=c(1,2,3,4,5)
x[1]
# [1] 1
i=1
x[1]<=5
# [1] TRUE
while(x[i]<=5){
i = i+1 ; print(i)
}
# [1] 3
# [1] 4
# [1] 5
# [1] 6
# Error in while (x[i] <= 5) { : missing value where TRUE/FALSE needed
So everything is fine so long as i <= 5 (i.e. x[i] <= 5),
but then the loop sets i = 6. and then:
i
# [1] 6
x[i]
# [1] NA
x[i] <= 5
# [1] NA
Helpful?
Best wishes,
Ted.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic