Cómo ver la estructura de un factor en la r
R tiene una estructura de datos especial para los datos categóricos, llamados factores. Los factores están estrechamente relacionados con personajes porque cualquier vector carácter puede ser representado por un factor. Para mirar un poco debajo de la capilla de la estructura de un factor, utilice el str () función:
> Str (state.region) Factor w / 4 niveles "Noreste", "Sur", ..: 2 4 4 2 4 4 1 2 2 2 ...
R informa de la estructura de state.region como un factor con cuatro niveles. Se puede ver que los dos primeros niveles son "Noreste" y "Sur", pero estos niveles se representan como números enteros 1, 2, 3 y 4.
Los factores son una forma conveniente para describir los datos categóricos. Internamente un factor se almacena como un valor numérico asociado con cada nivel. Esto significa que usted puede establecer e investigar los niveles de un factor por separado de los valores del factor.
Para ver los niveles de un factor, se utiliza el niveles () función. Por ejemplo, para extraer los niveles de factor de state.region, utilice la siguiente:
> Niveles (state.region) [1] "Noreste" "Sur" [3] "North Central" "Occidente"
Debido a que los valores del factor están vinculados a los niveles, al cambiar los niveles, también cambia indirectamente los propios valores. Para aclarar esto, cambiar los niveles de state.region a los valores "NE", "S", "NC", y "W":
> Niveles (state.region) lt; - c ("NE", "S", "NC", "W")> cabeza (state.region) [1] SWWSW WLevels: NE S NC W
A veces es útil saber el número de niveles de un factor. La función de conveniencia NLEVELS () extrae el número de niveles de un factor:
> NLEVELS (state.region) [1] 4
Debido a que los niveles de un factor se almacenan internamente por R como un vector, también puede extraer el número de niveles usando largo:
> Longitud (niveles (state.region)) [1] 4
Por la misma razón, se puede indexar los niveles de un factor usando las reglas del vector subsistentes estándar. Por ejemplo, para extraer el segundo y tercer niveles de factor, utilice la siguiente:
> Niveles (state.region) [2: 3] [1] "S" "NC"