To answer the actual question, your i and j indices are not what you expect (but are what
you specify).
Consider the following, which follows your algorithm:
> vector1 <- sample(1:100,2)
> vector2 <- sample(1:100,2)
> for (i in vector1) {
+ for (j in vector2) {
+ show(c(i, j))
+ }
+ }
[1] 37 68
[1] 37 1
[1] 46 68
[1] 46 1
> vector1[37] == vector2[68]
[1] NA
>
Does this now answer your question?
Ray Brownrigg
MSCS, Victoria University of Wellington
cruz wrote:
is this what you want?
vector1
[1] 65 1 34 100 42 20 79 43 89 10
vector2
[1] 34 65 47 91 48 32 23 74 92 86
for (i in 1:10) {
+ for (j in 1:10) {
+ if (vector1[i] == vector2[j])
+ show(c(i,j))
+ }
+ }
[1] 1 2
[1] 3 1
On Sat, Nov 8, 2008 at 8:22 AM, David Croll <[EMAIL PROTECTED]> wrote:
Hello dear R people,
for my MSc thesis I need to program some functions, and some of them simply
do not work. In the following example, I made sure both vectors have the
same length (10), but R gives me the following error:
Error in if (vector1[i] == vector2[j]) { :
missing value where TRUE/FALSE needed
I googled for possible solutions, but I did not find a good explanation for
this...
The code:
test <- function() {
vector1 <- sample(1:100,10)
vector2 <- sample(1:100,10)
for (i in vector1) {
for (j in vector2) {
if (vector1[i] == vector2[j]) {
show(list(i,j))
}
}
}
}
Regards, David
______________________________________________
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.