2013-05-11 5 views
0

J'étudie actuellement R et j'ai eu des problèmes pour afficher la table comme dans le format requis.Comment mettre en forme Table

> p <- rpois(100,5) 
> cluster_p <- kmeans(p,3) 
> table(cluster_p$cluster) 

1 2 3 
36 4 60 
> table(cluster_p$centers,table(cluster_p$cluster)) 

        4 36 60 
    3.43333333333333 0 0 1 
    6.77777777777778 0 1 0 
    9.5    1 0 0 

Mais je dois afficher la table comme dans le format ci-dessous.

cluster_id | center | total_no 
1   6.77  36 
2   9.5  4 
3   3.43  60 

Comment puis-je y parvenir?

+1

'cbind (cluster_p $ centres, cluster_p $ taille)' – sgibb

+0

@sgibb merci ... cela fonctionne comme requis ... – Krish

Répondre

2

il suffit de créer une trame de données:

cluster = as.data.frame(table(cluster_p$cluster)) 

data.frame(cluster_id=cluster[,1], 
      center=cluster_p$centers, 
      total_no=cluster[,2]) 

## cluster_id center total_no 
## 1   1 3.020408  49 
## 2   2 8.700000  10 
## 3   3 5.731707  41 

ps: les entrées de table sont différentes parce que vous avez pas encore défini la graine dans votre exemple.

+0

yap Je sais ... 1 dernière question comment trier les données dans l'ordre croissant de total_no – Krish

+1

' df [commande (df $ total_no),] ' – Nishanth

Questions connexes