Pregunta

Tengo otra pregunta novato;

Digamos que tengo un conjunto de números

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

y necesito para crear una tabla de frecuencias de ellas contra esta escala

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

En esencia lo que yo quiero saber es cómo consigo una tabla en este formato:

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

o por lo menos:

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

Y puedo añadir las etiquetas en adelante mediante names.arg con barplot 2.

He estado en esto durante casi todo el día, después de esto su clara vela por el resto de mi trabajo de automatización. Yo pensé que estaba en el camino correcto con tabulaciones, pero no pude llegar hasta allí.

¿Fue útil?

Solución

En primer lugar se necesita un factor de sus datos. Pensar en un factor de exactamente de la manera que lo haría pensar en una variable categórica. Dice que los niveles de qué esperar, etiquetas le da un nombre bonito.

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 necesita porcentajes, se puede hacer algo como esto:

summary(graph_val)/length(graph_val)\

O esto:

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

Otros consejos

El siguiente en "Una introducción a R", responde directamente a su pregunta:

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top