Question

J'ai une autre question débutant;

permet de dire que j'ai un ensemble de nombres

graph_val <- c(4,2,3,4,1,1,9)

et je dois créer une table de fréquence d'entre eux contre cette échelle

           1            2            3            4            5            9 
 "Very Poor"       "Poor"    "Average"       "Good"  "Very Good" "Don't Know" 

Essentiellement ce que je veux savoir comment puis-je obtenir une table dans ce format:

 "Very Poor"       "Poor"    "Average"       "Good"  "Very Good" "Don't Know"
           2            1            1            1            0            1 

ou à tout le moins:

           1            2            3            4            5            9
           2            1            1            1            0            1 

Et je peux ajouter les étiquettes plus tard à l'aide names.arg avec barplot 2.

Je suis sur ce point pour la plupart du jour, après sa course claire pour le reste de mon travail d'automatisation. Je croyais être sur la bonne voie avec tabulate, mais ne pouvait pas tout à fait y arriver.

Était-ce utile?

La solution

D'abord, vous devez prendre en compte vos données. Pensez à un facteur exactement de la manière que vous pensez à une variable. Niveaux dit quoi attendre, les étiquettes, il donne un joli nom.

graph_val <- factor(graph_val, levels=c(1,2,3,4,5,9), labels=strsplit('
Very Poor
Poor
Average
Good
Very Good
Don\'t Know
', '\n')[[1]][-1]) 
## Take note of the escape character in Don\'t Know

summary(graph_val)

Si vous avez besoin pourcentages, vous pouvez faire quelque chose comme ceci:

summary(graph_val)/length(graph_val)\

Ou ceci:

round(summary(graph_val)/length(graph_val),2)

Autres conseils

Ce qui suit de "Introduction à R" répond directement à votre question:

http: // Cran. r-project.org/doc/manuals/R-intro.html#Frequency-tables-from-factors

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top