I have created a matrix like this:
> head(matrix)
     Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 Var11
[1,] "0"  "0"  "1"  "0"  "1"  "1"  "0"  "0"  "0"  "0"   "NA"  
[2,] "1"  "0"  "1"  "0"  "1"  "1"  "0"  "0"  "0"  "0"   "NA"  
[3,] "0"  "1"  "1"  "0"  "1"  "1"  "0"  "0"  "0"  "0"   "NA"  
[4,] "1"  "1"  "1"  "0"  "1"  "1"  "0"  "0"  "0"  "0"   "NA"  
[5,] "0"  "0"  "2"  "0"  "1"  "1"  "0"  "0"  "0"  "0"   "NA"  
[6,] "1"  "0"  "2"  "0"  "1"  "1"  "0"  "0"  "0"  "0"   "NA"
Now, I want to compare the matrix above with the following data frame:
> head(df)
       cod Var11 Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10     Var12
1  C000354     B    1    1    4    0    1    2    0    0    0     1  51520.72
2  C000404     A    1    0    1    0    4    4    0    0    1     1  21183.25
3  C000444     A    1    0    4    1    3    3    0    0    0     1  67504.74
4  C000480     A    1    1    2    0    2    3    0    0    1     1  26545.92
5  C000983     C    1    0    1    0    3    4    0    0    0     0  10379.37
6  C000985     C    1    0    3    1    3    4    0    0    0     0  18660.99
Matrix contains all possible combinations of the variables Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10, so basically when a row of df (only column from VAR1 to VAR10) match with a row of matrix and this row in df had a Var12>=90000, I would like it to be written "A" in corresponding column VAR11 of matrix.
I have tried with this:
for (i in 1 : nrow(matrix)) {
  for (j in 1 : 10) {
    ifelse(matrix[i,j]==df[,(j+2)]
           && df$Var12[] >= 90000,
           matrix[i,"Var11"] <- "A",
           matrix[i,"Var11"] <- "NA")
  }
}
But this writes NA in all rows of matrix.
Does anyone know why this happen or how to solve it?
Thanks in advance.
 
    