2024-11-17

Descripción Data Taxi

VendorID : Un identificador único para el vendedor o proveedor de servicios de taxi.

tpep_pickup_datetime : La fecha y hora en que se recogió al pasajero.

tpep_dropoff_datetime : La fecha y hora en que se dejó al pasajero.

passenger_count : La cantidad de pasajeros en el taxi.

trip_distance : La distancia total del viaje en millas o kilómetros.

RatecodeID : El código de tarifa asignado al viaje, que representa los tipos de tarifa. store_and_fwd_flag : Indica si los datos del viaje se almacenaron localmente y luego se reenviaron más tarde (Y/N).

PULocationID : El identificador único para la ubicación de recogida (zona o área).

Descripción Data Taxi

DOLocationID : El identificador único para la ubicación de entrega (zona o área).

payment_type : El método de pago utilizado por el pasajero (efectivo, tarjeta, cupon, transferencia).

fare_amount : La tarifa base para el viaje.

extra : Cargos adicionales aplicados durante el viaje (p. ej., recargo nocturno).

mta_tax : El impuesto impuesto por la Autoridad de Transporte Metropolitano.

tip_amount : La propina dada al conductor, si corresponde.

tolls_amount : El monto total de los peajes cobrados durante el viaje.

Descripción Data Taxi

improvement_surcharge : Un recargo impuesto para la mejora de los servicios.

total_amount : El monto total de la tarifa, incluidos todos los cargos y recargos.

congestion_surcharge : Un cargo adicional por viajes realizados durante horas de alta congestión de tráfico.

Base de Datos

## # A tibble: 75,052 × 18
##    VendorID tpep_pickup_datetime tpep_dropoff_datetime passenger_count
##       <dbl> <dttm>               <dttm>                          <dbl>
##  1        1 2020-01-01 00:28:15  2020-01-01 00:33:03                 1
##  2        1 2020-01-01 00:35:39  2020-01-01 00:43:04                 1
##  3        1 2020-01-01 00:47:41  2020-01-01 00:53:52                 1
##  4        1 2020-01-01 00:55:23  2020-01-01 01:00:14                 1
##  5        2 2020-01-01 00:01:58  2020-01-01 00:04:16                 1
##  6        2 2020-01-01 00:09:44  2020-01-01 00:10:37                 1
##  7        2 2020-01-01 00:39:25  2020-01-01 00:39:29                 1
##  8        2 2019-12-18 15:27:49  2019-12-18 15:28:59                 1
##  9        2 2019-12-18 15:30:35  2019-12-18 15:31:35                 4
## 10        1 2020-01-01 00:29:01  2020-01-01 00:40:28                 2
## # ℹ 75,042 more rows
## # ℹ 14 more variables: trip_distance <dbl>, RatecodeID <dbl>,
## #   store_and_fwd_flag <chr>, PULocationID <dbl>, DOLocationID <dbl>,
## #   payment_type <dbl>, fare_amount <dbl>, extra <dbl>, mta_tax <dbl>,
## #   tip_amount <dbl>, tolls_amount <dbl>, improvement_surcharge <dbl>,
## #   total_amount <dbl>, congestion_surcharge <dbl>

1. ¿Cuántos viajes se realizaron por cada método de pago?

viajes_por_metodo_de_pago <- Taxi %>%
  group_by(payment_type) %>%
  summarise(total_viajes = n()) %>%
  print
# A tibble: 4 × 2
  payment_type total_viajes
         <dbl>        <int>
1            1        49940
2            2        24176
3            3          560
4            4          376

Gráfico 1

Según el Word del profesor, 1 se refiere a efectivo, 2 a tarjeta, 3 a cupón y 4 a transferencia. En base a esta información, más el gráfico, se puede concluir que el Efectivo es el método de pago que más se usa, y las transferencias el que menos se usa.

2. ¿Cuál es la distancia promedio recorrida por cada cantidad de pasajeros?

## # A tibble: 9 × 2
##   passenger_count promedio_distancia
##             <dbl>              <dbl>
## 1               6              3.73 
## 2               4              3.54 
## 3               5              3.50 
## 4               3              3.39 
## 5               2              3.38 
## 6               1              3.34 
## 7               0              3.09 
## 8               8              0.624
## 9               7              0

Se puede observar que cuando hay 6 pasajeros, estos son los que en promedio más viajan con 3.73 millas o km. En cambio, no suelen haber viajes con 7 pasajeros en los taxis.

3. ¿Cuál es el total de propinas recaudadas por cada Vendedor y método de pago?

## `summarise()` has grouped output by 'VendorID'. You can override using the
## `.groups` argument.
## # A tibble: 8 × 3
## # Groups:   VendorID [2]
##   VendorID payment_type total_propinas
##      <dbl>        <dbl>          <dbl>
## 1        1            1        46672. 
## 2        1            2            0  
## 3        1            3            0  
## 4        1            4            0  
## 5        2            1       114852. 
## 6        2            2            0  
## 7        2            3            0  
## 8        2            4           32.3

Gráfico 2

Al igual que en la primera pregunta, para el payment type 1 se refiere a efectivo, 2 a tarjeta, 3 a cupón y 4 a transferencia. Se puede ver que el vendedor 2 genera más propinas que el vendedor 1, y que ambos reciben estas, mayormente, en efectivo.

4.¿Cuál es el recargo promedio en viajes de más de 5 millas?

recargo_promedio_viajes <- Taxi %>%
  filter(trip_distance > 5) %>%
  summarise(promedio_recargo = mean(improvement_surcharge, na.rm = TRUE)) %>%
  print
# A tibble: 1 × 1
  promedio_recargo
             <dbl>
1            0.298

En los viajes de más de 5 millas, el recargo promedio es de 0.298 u.m.

5. ¿Cuál es la duración promedio de los viajes por cada combinación de origen y destino y en qué combinación ocurre el viaje más largo?

## `summarise()` has grouped output by 'PULocationID'. You can override using the
## `.groups` argument.
## # A tibble: 8,868 × 4
## # Groups:   PULocationID [201]
##    PULocationID DOLocationID promedio_duracion viaje_mas_largo
##           <dbl>        <dbl>             <dbl>           <dbl>
##  1          234           68             28.9            1440.
##  2           79          137             21.2            1439.
##  3          211          232            169.             1439.
##  4           13          231             90.5            1439.
##  5           79           48             37.4            1439.
##  6          137           68            111.             1439.
##  7           79           79              7.73           1439 
##  8          148           87             30.2            1439 
##  9           90          229             81.1            1439.
## 10          144          161            138.             1439.
## # ℹ 8,858 more rows

Continuación 5

Las combinaciones de origen y destino con los viajes más largos de taxi están claramente identificadas en el gráfico, destacando aquellas rutas con altas duraciones. Esto puede estar relacionado con factores como la distancia entre ubicaciones o el tráfico.

6. ¿Cuál es la proporción de viajes con propina mayor al 15% del total del costo del viaje por cada método de pago?

## # A tibble: 4 × 2
##   payment_type proporcion_mayor_15
##          <dbl>               <dbl>
## 1            1               0.721
## 2            2               0    
## 3            3               0    
## 4            4               0

Gráfico 3

Pagar con efectivo tiene una mayor proporción de propinas superiores al 70% en comparación con los otros métodos, reflejando la liquidez de este tipo de pago.

7. Encuentre las 5 ubicaciones de recogida con las mayores ganancias totales y los métodos de pago más utilizados en cada una.

## # A tibble: 201 × 2
##    PULocationID ganancias_totales
##           <dbl>             <dbl>
##  1           79            81498.
##  2          132            76100.
##  3           48            75242.
##  4          148            49196.
##  5           68            43156.
##  6          170            42964.
##  7          107            40972.
##  8          164            40953.
##  9          161            40139.
## 10          249            36353.
## # ℹ 191 more rows

Continuación 7

## # A tibble: 5 × 2
##   PULocationID ganancias_totales
##          <dbl>             <dbl>
## 1           79            81498.
## 2          132            76100.
## 3           48            75242.
## 4          148            49196.
## 5           68            43156.

Continuación 7

## `summarise()` has grouped output by 'PULocationID'. You can override using the
## `.groups` argument.
## # A tibble: 20 × 3
## # Groups:   PULocationID [5]
##    PULocationID payment_type total_viajes
##           <dbl>        <dbl>        <int>
##  1           48            1         2257
##  2           48            2         1329
##  3           48            3           32
##  4           48            4           28
##  5           68            1         1448
##  6           68            2          709
##  7           68            4           15
##  8           68            3           13
##  9           79            1         3373
## 10           79            2         1009
## 11           79            3           35
## 12           79            4           23
## 13          132            1          819
## 14          132            2          710
## 15          132            3           23
## 16          132            4           13
## 17          148            1         1969
## 18          148            2          556
## 19          148            3           18
## 20          148            4            9

Continuación 7

## # A tibble: 5 × 3
## # Groups:   PULocationID [5]
##   PULocationID payment_type total_viajes
##          <dbl>        <dbl>        <int>
## 1           48            1         2257
## 2           68            1         1448
## 3           79            1         3373
## 4          132            1          819
## 5          148            1         1969

Continuación 7

## # A tibble: 5 × 4
##   PULocationID ganancias_totales payment_type total_viajes
##          <dbl>             <dbl>        <dbl>        <int>
## 1           79            81498.            1         3373
## 2          132            76100.            1          819
## 3           48            75242.            1         2257
## 4          148            49196.            1         1969
## 5           68            43156.            1         1448

Gráfico 4

Las 5 ubicaciones de recogida con las mayores ganancias totales son, respectivamente, aquellas identificadas con los ID 79, 132, 48, 148 y 68. Además, el método de pago más utilizado en cada una fue el efectivo.

8. Cree un ranking de los 3 vendedores más eficientes según la tarifa base promedio por milla recorrida.

## # A tibble: 74,049 × 18
##    VendorID tpep_pickup_datetime tpep_dropoff_datetime passenger_count
##       <dbl> <dttm>               <dttm>                          <dbl>
##  1        1 2020-01-01 00:28:15  2020-01-01 00:33:03                 1
##  2        1 2020-01-01 00:35:39  2020-01-01 00:43:04                 1
##  3        1 2020-01-01 00:47:41  2020-01-01 00:53:52                 1
##  4        1 2020-01-01 00:55:23  2020-01-01 01:00:14                 1
##  5        2 2020-01-01 00:09:44  2020-01-01 00:10:37                 1
##  6        1 2020-01-01 00:29:01  2020-01-01 00:40:28                 2
##  7        1 2020-01-01 00:55:11  2020-01-01 01:12:03                 2
##  8        1 2020-01-01 00:37:15  2020-01-01 00:51:41                 1
##  9        1 2020-01-01 00:56:27  2020-01-01 01:21:44                 1
## 10        2 2020-01-01 00:21:54  2020-01-01 00:27:31                 1
## # ℹ 74,039 more rows
## # ℹ 14 more variables: trip_distance <dbl>, RatecodeID <dbl>,
## #   store_and_fwd_flag <chr>, PULocationID <dbl>, DOLocationID <dbl>,
## #   payment_type <dbl>, fare_amount <dbl>, extra <dbl>, mta_tax <dbl>,
## #   tip_amount <dbl>, tolls_amount <dbl>, improvement_surcharge <dbl>,
## #   total_amount <dbl>, congestion_surcharge <dbl>

Continuación 8

## # A tibble: 2 × 2
##   VendorID tarifa_promedio_por_milla
##      <dbl>                     <dbl>
## 1        2                      7.86
## 2        1                      5.70

Gráfico 5

Los 3 vendedores más eficientes según la tarifa base promedio por milla recorrida son el vendedor identificado como 2 y el vendedor identificado como 1.

9. Calcule la variabilidad de las propinas por zona de recogida (utilizando la desviación estándar).

## # A tibble: 197 × 2
##    PULocationID desviacion_estandar_propinas
##           <dbl>                        <dbl>
##  1            1                        NA   
##  2            3                        NA   
##  3            4                         2.36
##  4            7                         2.25
##  5           10                         5.17
##  6           12                         2.16
##  7           13                         2.94
##  8           14                         3.36
##  9           17                         2.75
## 10           18                         0   
## # ℹ 187 more rows

El df creado indica la variabilidad de las propinas por zona de recogida.

10. Calcule un índice de recargos (seleccionar el conjunto de variables pertinentes) como proporción del ingreso total y encuentra los viajes con valores extremos.

## # A tibble: 74,049 × 20
##    VendorID tpep_pickup_datetime tpep_dropoff_datetime passenger_count
##       <dbl> <dttm>               <dttm>                          <dbl>
##  1        1 2020-01-01 00:28:15  2020-01-01 00:33:03                 1
##  2        1 2020-01-01 00:35:39  2020-01-01 00:43:04                 1
##  3        1 2020-01-01 00:47:41  2020-01-01 00:53:52                 1
##  4        1 2020-01-01 00:55:23  2020-01-01 01:00:14                 1
##  5        2 2020-01-01 00:09:44  2020-01-01 00:10:37                 1
##  6        1 2020-01-01 00:29:01  2020-01-01 00:40:28                 2
##  7        1 2020-01-01 00:55:11  2020-01-01 01:12:03                 2
##  8        1 2020-01-01 00:37:15  2020-01-01 00:51:41                 1
##  9        1 2020-01-01 00:56:27  2020-01-01 01:21:44                 1
## 10        2 2020-01-01 00:21:54  2020-01-01 00:27:31                 1
## # ℹ 74,039 more rows
## # ℹ 16 more variables: trip_distance <dbl>, RatecodeID <dbl>,
## #   store_and_fwd_flag <chr>, PULocationID <dbl>, DOLocationID <dbl>,
## #   payment_type <dbl>, fare_amount <dbl>, extra <dbl>, mta_tax <dbl>,
## #   tip_amount <dbl>, tolls_amount <dbl>, improvement_surcharge <dbl>,
## #   total_amount <dbl>, congestion_surcharge <dbl>, total_recargos <dbl>,
## #   indice_recargos <dbl>

Continuación 10

## # A tibble: 10 × 20
##    VendorID tpep_pickup_datetime tpep_dropoff_datetime passenger_count
##       <dbl> <dttm>               <dttm>                          <dbl>
##  1        1 2020-01-01 01:06:24  2020-01-01 01:07:25                 2
##  2        1 2020-01-01 00:46:39  2020-01-01 00:47:30                 2
##  3        1 2020-01-01 00:43:39  2020-01-01 00:44:31                 1
##  4        1 2020-01-01 01:33:36  2020-01-01 01:34:20                 2
##  5        1 2020-01-01 01:34:33  2020-01-01 01:34:45                 1
##  6        1 2020-01-01 01:35:40  2020-01-01 01:35:49                 1
##  7        1 2020-01-01 01:36:27  2020-01-01 02:03:30                 2
##  8        1 2020-01-01 01:11:36  2020-01-01 01:11:57                 1
##  9        1 2020-01-01 01:54:40  2020-01-01 01:55:22                 1
## 10        1 2020-01-01 02:52:25  2020-01-01 02:52:44                 1
## # ℹ 16 more variables: trip_distance <dbl>, RatecodeID <dbl>,
## #   store_and_fwd_flag <chr>, PULocationID <dbl>, DOLocationID <dbl>,
## #   payment_type <dbl>, fare_amount <dbl>, extra <dbl>, mta_tax <dbl>,
## #   tip_amount <dbl>, tolls_amount <dbl>, improvement_surcharge <dbl>,
## #   total_amount <dbl>, congestion_surcharge <dbl>, total_recargos <dbl>,
## #   indice_recargos <dbl>

Continuación 10

## # A tibble: 10 × 20
##    VendorID tpep_pickup_datetime tpep_dropoff_datetime passenger_count
##       <dbl> <dttm>               <dttm>                          <dbl>
##  1        2 2020-01-01 05:22:17  2020-01-01 05:28:13                 1
##  2        2 2020-01-01 02:00:31  2020-01-01 02:04:31                 1
##  3        2 2020-01-01 02:54:26  2020-01-01 03:16:35                 1
##  4        2 2020-01-01 02:54:26  2020-01-01 03:16:35                 1
##  5        1 2020-01-01 03:40:36  2020-01-01 03:41:41                 1
##  6        2 2020-01-01 09:42:35  2020-01-01 10:11:28                 4
##  7        1 2020-01-01 05:27:07  2020-01-01 07:36:45                 1
##  8        2 2020-01-01 02:40:23  2020-01-01 02:43:23                 1
##  9        2 2020-01-01 07:35:28  2020-01-01 07:36:39                 1
## 10        2 2020-01-01 07:35:28  2020-01-01 07:36:39                 1
## # ℹ 16 more variables: trip_distance <dbl>, RatecodeID <dbl>,
## #   store_and_fwd_flag <chr>, PULocationID <dbl>, DOLocationID <dbl>,
## #   payment_type <dbl>, fare_amount <dbl>, extra <dbl>, mta_tax <dbl>,
## #   tip_amount <dbl>, tolls_amount <dbl>, improvement_surcharge <dbl>,
## #   total_amount <dbl>, congestion_surcharge <dbl>, total_recargos <dbl>,
## #   indice_recargos <dbl>

Continuación 10

El dataframe “Taxi” recoge el índice de recargos en su última columna. Además, los dataframes “top_10_altos” y “top_10_bajos” reportan los viajes con valores extremos.

Gracias por su atención!

# Profe esta presentación es de 20 :)