Bonjour,
J'ai mon tableau "ubiquity":
Les indices 1 et 0 indiquent si p est produit par un pays donné ou non.
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
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:
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 p1 p2 p3 p4 ... p1 1 1 0 1 p2 6 0 1 2 p3 5 3 4 3 p4 0 1 0 1 ...
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.
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
J'espère que vous pouvez m'aider.
Merci infiniment.
Partager