La primera viñeta de las estadísticas de descripción en lenguaje R | Cálculo de la tasa de supervivencia de diferentes cabinas en el Titanic

Autor: pequeño ayudante

Fuente: Dingdian te ayuda

Empiece a aprender a hacer estadística descriptiva en lenguaje R hoy. Para facilitar que todos aprendan mientras practican, puede descargar estos datos:

Nombre de archivo: titanic.csv

Enlace: https://pan.baidu.com/s/1Pj0EsaBZdnw6mHPpeVd9Aw  

Contraseña: Yuym

Importar archivos locales a R

Para facilitar la gestión y el funcionamiento de los datos, normalmente los guardamos en formato .csv, que es un formato de datos relativamente simple en Excel. Para importar datos en formato .csv a R, puede usar la función read.csv ():

# Importe el archivo local titanic.csv en R, 
# y guárdelo en el objeto titanic  
  <- read.csv ("// Usuarios // Escritorio // titanic.csv", header = TRUE)

Suponga que el archivo local almacena información básica sobre los pasajeros del crucero gigante Titanic que se hundió en el Océano Atlántico en 1912.

El primer comando sobre "//Users//Desktop//titanic.csv" es la dirección de almacenamiento local del archivo titanic.csv, debe ajustarlo de acuerdo con la ubicación de almacenamiento de su computadora;

El segundo comando header = TRUE significa establecer automáticamente la primera línea en el archivo original como el nombre de la columna del archivo.

Si no hay nombres de columna en su archivo .csv, pero desea establecerlos después de importar R, debe establecer el segundo comando en header = FALSE.

Entender los datos

Como se mencionó en el artículo anterior, para obtener una base de datos, primero debemos comprender su información básica. Ya se ha dicho antes, repasemos brevemente.

class (titanic)   
#¿Cuál es la estructura de datos del objeto [1] "data.frame" dim (titanic) #Ver los     
datos tiene varias filas y varias columnas [1] 1309 6names (titanic) #Ver   
el nombre de la columna de los datos [1] "pclass" "sobrevivió" "sexo" "edad" "sibsp" "parch" head (titanic) #Ver las 
primeras 6 líneas tail (titanic)    #Ver las    
últimas 6 líneas

Como puede ver, hay 1309 registros y 6 variables en el marco de datos titánico.

Las seis variables son, en orden, clase de clase, si sobrevivieron, género, edad, número de hermanos o cónyuges en el mismo grupo y número de padres o hijos en el mismo grupo.

Estadísticas descriptivas

A continuación, hagamos estadísticas descriptivas sobre datos titánicos.

1. ¿Cuántas personas hay en cada clase de cabina?

Hay dos métodos, uno es la función table (), que se usa para contar la frecuencia de cada categoría en la variable categórica pclass; el otro es la función summary (), que se usa para estadísticas descriptivas, que es adecuada tanto para la clasificación como para las variables de conteo. Para contar la frecuencia de variables categóricas, calcule la media y el percentil de las variables de conteo, etc.

# Tabla del método uno (titanic $ pclass) 1 ° 2 ° 3 ° 323277709 # Resumen del método dos (titanic $ pclass) 1 ° 2 ° 3 ° 323277709

2. ¿Cuántos fueron las víctimas y los sobrevivientes?

mesa (titanic $ sobrevivió)    
murió sobrevivió        
809500 

3. ¿Cuántas personas murieron y cuántas sobrevivieron en cada clase de cabina?

En este ejemplo, el estado del pasajero se cuenta de acuerdo con las dos condiciones de "clase de clase" y "supervivencia", y hay 6 posibilidades. Todavía use la función table () para contar cuántas personas hay en cada situación posible y generar una tabla de contingencia cruzada.

# Almacenar la tabla de contingencia en Tab1 Tab1  
  <- mesa ($ titánica sobrevivió, titánico pClass $) 
# Ver el contenido del Tab1 Tab1            
1º 2º 3º murió       
123 158 528    
sobrevivieron   
200 119 181

4. ¿Cuál es el porcentaje de supervivientes en cada clase?

La idea es simple, es decir, la relación entre el número de supervivientes de cada clase y el número total de personas de esa clase.

1) Echemos un vistazo a cómo calcular el número de supervivientes en cada clase. La segunda fila de tab1 anterior es solo para extraerlos. El método es el mismo que para extraer las filas y columnas en el marco de datos como se describió anteriormente:

#Extract la segunda fila de Tab1 Tab1 [2], 
1º 2º 3º   
200 119 181

2) ¿El número total de personas en cada clase? También se ha calculado lo anterior:

mesa ($ titánica pClass) 
1º 2º 3º   
323 277 709

Hay otro método, que utiliza la función apply (), que funciona para procesar por lotes filas o columnas de datos de matriz:

aplicar (tab1,2, suma) 
1º 2º 3º 
323 277 709

Hay tres comandos en la función. El primer comando tab1 representa los datos a procesar; el segundo comando 2 representa el procesamiento de cada columna de tab1, si cada fila necesita ser procesada, el segundo comando debe ingresar el número 1; el tercer comando suma representa la suma.

Por lo tanto, el significado de la oración anterior es: sumar cada columna en tab1, es decir, calcular el número total de personas en cada clase.

3) Encuentre la razón entre el número de sobrevivientes en cada clase y el número total de personas en esa clase:

# Método uno 
tab1 [2,] / table (titanic $ pclass)       
1st 2nd 3rd     
0.6191950 0.4296029 0.2552891  
# Método dos 
tab1 [2,] / apply (tab1,2, sum)       
1st 2nd 3rd     
0.6191950 0.4296029 0.2552891

4) Debes haber descubierto que este resultado es muy desagradable y no es adecuado para informar en la investigación científica. Realizamos los siguientes cambios:

# Primero multiplique por 100 
tab1 [2,] / apply (tab1,2, sum) * 100 
1st 2nd 3rd  
61.91950 42.96029 25.52891 
# Mantenga 2 decimales 
redondos (tab1 [2,] / apply (tab1,2, sum) * 100 , 2) 
1 ° 2    ° 3 °   
61,92 42,96 25,53

La función de la función round () es retener el número de lugares decimales.

En el código anterior, el primer comando tab1 [2,] / apply (tab1,2, sum) * 100 es el objeto que necesita mantener decimales;

El segundo comando 2 significa mantener 2 lugares decimales.

5) Pero este resultado es obviamente incorrecto, la suma del signo de porcentaje% es precisa. Necesita usar la función paste (). La función de esta función es conectar varios elementos. En este ejemplo, queremos conectar números y signos de porcentaje:

paste (round (tab1 [2,] / apply (tab1,2, sum) * 100,2), "%", sep = "") 
"61,92%" "42,96%" "25,53%"

La primera ronda de comandos (tab1 [2,] / apply (tab1,2, sum) * 100,2) es la parte numérica del porcentaje calculado anteriormente, que es la primera parte que se conecta;

El segundo comando "%" es la segunda parte a conectar;

El tercer comando sep = "" se refiere al símbolo de conexión entre dos elementos. Aquí no necesitamos ningún símbolo de conexión, por lo que no es necesario escribir nada entre las comillas "".

 

Supongo que te gusta

Origin blog.csdn.net/yoggieCDA/article/details/108846126
Recomendado
Clasificación