La fusion de deux variables pour créer le tableau des fréquences
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.
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