5 votes

graphique circulaire de la co-présence dans les clusters pour environ 10 facteurs dans r

J'ai un ensemble de données à deux colonnes avec environ 30000 clusters et 10 facteurs comme ceci :

cluster-1 Factor1
cluster-1 Factor2
...
cluster-2 Factor2
cluster-2 Factor3
...

Et je voudrais représenter la co-occurrence des facteurs dans l'ensemble des clusters. Quelque chose comme "Facteur1+Facteur3+Facteur5 dans 1234 clusters", et ainsi de suite pour les différentes combinaisons. Je pensais que je pourrais faire quelque chose comme un diagramme circulaire, mais avec 10 facteurs, je pense qu'il peut y avoir trop de combinaisons.

Quelle serait une bonne façon de représenter cela ?

2voto

John Colby Points 10530

Il y a est une bonne question de programmation ici qui devrait être abordée :

Comment compter le nombre de cooccurrences des facteurs dans les différents clusters ?

Commencez par simuler quelques données :

n = 1000

set.seed(12345)
n.clusters = 100
clusters = rep(1:n.clusters, length.out=n)

n.factors = 10
factors = round(rnorm(n, n.factors/2, n.factors/5))
factors[factors > n.factors] = n.factors
factors[factors < 1] = 1

data = data.frame(cluster=clusters, factor=factors)

> data
  cluster factor
1       1      6
2       2      6
3       3      5
4       4      4
5       5      6
6       6      1
...

Voici ensuite le code qui pourrait être utilisé pour tabuler le nombre de fois que chaque combinaison de facteurs apparaît dans les clusters :

counts = with(data, table(tapply(factor, cluster, function(x) paste(as.character(sort(unique(x))), collapse=''))))

Cela peut être représenté par un simple diagramme circulaire, par exemple,

dev.new(width=5, height=5)
pie(counts[counts>1])

enter image description here

mais les comptages simples comme celui-ci sont souvent plus efficacement affichés sous forme de tableau trié. Pour en savoir plus, consultez Edward Tufte .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X