Bonjour,
J'ai mon tableau "ubiquity":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
product	pays 1	pays 2	pays 3	pays 4
p1	1	1	1	1
p2	1	1	0	1
p3	0	0	1	0
p4	0	1	0	0
p5	0	1	0	1
p6	0	0	1	0
p7	1	1	1	1
p8	0	0	0	0
Les indices 1 et 0 indiquent si p est produit par un pays donné ou non.
Je voudrais calculer, pour tout deux produits (i et k), combien de pays (j) produisent ces deux produits.
Je voudrais aussi representer le resultat sous forme d'une matrice symetrique de produits comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
  p1	p2	p3	p4	...
p1 	1	1	0	1
p2	6	0	1	2
p3	5	3	4	3
p4	0	1	0	1
...
Pour ce faire, j'ai essayé avec le code suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
> ubiquity <- read.csv('D:/ubiquity.csv', header = TRUE, sep = ";")
 >M<-matrix(nrow=nrow(ubiquity),*ncol=nrow(ubiquity))
> for (i in 1:nrow(ubiquity)){
+ for (k in i+1:nrow(ubiquity)){
+     t <- 0
+ for (j in 2:ncol(ubiquity)){
+ if(ubiquity[i,j]==ubiquity[k,j]){
+ t <- t+1 
+ }
+ }
+ M[i,k] <- t
+ }
+ }
Error in if (ubiquity[i, j] == ubiquity[k, j]) { : 
  valeur manquante là où TRUE / FALSE est requis
Je sais pas si la méthode que j'ai utilisé peut me donner le résultat souhaité et j'ai pas compris aussi l'erreur affiché sous R.
J'espère que vous pouvez m'aider.
Merci infiniment.