Solo levantar R y tengo la siguiente pregunta:

Decir que tengo los siguientes datos.marco:

v1     v2     v3  
3      16     a  
44     457    d  
5      23     d  
34     122    c  
12     222    a

…y así sucesivamente

Me gustaría crear un histograma o barchart para este en R, pero en vez de tener el eje de las x ser uno de los valores numéricos, me gustaría un recuento de v3. (2, 1 c, 2 d, etc…)

Si hago hist(dataFrame$v3), me sale el error de que 'x 'must be numeric.

  1. ¿Por qué no puedo contar las instancias de cada cadena, como puede para el resto de las columnas?
  2. Lo que sería el código más sencillo para esto?

OriginalEl autor Charistine | 2014-07-06

1 Comentario

  1. 9

    ACEPTAR. En primer lugar, usted debe saber exactamente lo que una histograma es. No es una parcela de la cuenta. Es una visualización continua variables que se estima que el subyacente de la función de densidad de probabilidad. Así que no trate de utilizar hist en datos categóricos. (Es por eso que hist indica que el valor que pasa debe ser numérico.)

    Si sólo quieres cuenta de valores discretos, eso es sólo una base de gráfico de barras. Usted puede calcular la cuenta de valores en R para datos discretos utilizando table y, a continuación, la trama que con el básico barplot() comando.

    barplot(table(dataFrame$v3))

    Si quieres exigir un número mínimo de observaciones, intente

    tbl<-table(dataFrame$v3)
    atleast <- function(i) {function(x) x>=i}
    barplot(Filter(atleast(10), tbl))
    Gracias. Soy un novato a r. Ahora que he creado este gráfico de barras, veo que tengo un montón de resultados en los cientos y algunos que sólo tienen 1 o 2. Es allí cualquier manera de excluir los datos si no cumple con un número mínimo de instancias?
    He añadido una posible solución en mi respuesta.

    OriginalEl autor MrFlick

Dejar respuesta

Please enter your comment!
Please enter your name here