
Title: “Evidencia_Dos_Renata Cruz” Author: “Renata Cruz” Date: “2023-09-08”
American Airlines busca poner en marcha las recomendaciones otorgadas en el primer informe realizado para mejorar su posición competitiva en el mercado. Por ello, nuestra empresa en Inteligencia de Negocios, brindará a la compañía un segundo análisis detallado sobre factores clave, como sus destinos, horarios y aviones con los que cuenta para hacer propuestas de aumento o reducción de vuelos. Para obtener las bases de datos necesarias y lograr visualizar los resultados, haremos uso de la Análitica descriptiva, comenzando por el modelo entidad- relación seguido de la visualización de datos, para posteriormente ofrecer nuestros hallazgos.
#Librerias
library(nycflights13)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
#Se necesita saber de cada vuelo, la aerolínea, el aeropuerto de origen y el aeropuerto destino.
summary(flights)
## year month day dep_time sched_dep_time
## Min. :2013 Min. : 1.000 Min. : 1.00 Min. : 1 Min. : 106
## 1st Qu.:2013 1st Qu.: 4.000 1st Qu.: 8.00 1st Qu.: 907 1st Qu.: 906
## Median :2013 Median : 7.000 Median :16.00 Median :1401 Median :1359
## Mean :2013 Mean : 6.549 Mean :15.71 Mean :1349 Mean :1344
## 3rd Qu.:2013 3rd Qu.:10.000 3rd Qu.:23.00 3rd Qu.:1744 3rd Qu.:1729
## Max. :2013 Max. :12.000 Max. :31.00 Max. :2400 Max. :2359
## NA's :8255
## dep_delay arr_time sched_arr_time arr_delay
## Min. : -43.00 Min. : 1 Min. : 1 Min. : -86.000
## 1st Qu.: -5.00 1st Qu.:1104 1st Qu.:1124 1st Qu.: -17.000
## Median : -2.00 Median :1535 Median :1556 Median : -5.000
## Mean : 12.64 Mean :1502 Mean :1536 Mean : 6.895
## 3rd Qu.: 11.00 3rd Qu.:1940 3rd Qu.:1945 3rd Qu.: 14.000
## Max. :1301.00 Max. :2400 Max. :2359 Max. :1272.000
## NA's :8255 NA's :8713 NA's :9430
## carrier flight tailnum origin
## Length:336776 Min. : 1 Length:336776 Length:336776
## Class :character 1st Qu.: 553 Class :character Class :character
## Mode :character Median :1496 Mode :character Mode :character
## Mean :1972
## 3rd Qu.:3465
## Max. :8500
##
## dest air_time distance hour
## Length:336776 Min. : 20.0 Min. : 17 Min. : 1.00
## Class :character 1st Qu.: 82.0 1st Qu.: 502 1st Qu.: 9.00
## Mode :character Median :129.0 Median : 872 Median :13.00
## Mean :150.7 Mean :1040 Mean :13.18
## 3rd Qu.:192.0 3rd Qu.:1389 3rd Qu.:17.00
## Max. :695.0 Max. :4983 Max. :23.00
## NA's :9430
## minute time_hour
## Min. : 0.00 Min. :2013-01-01 05:00:00.00
## 1st Qu.: 8.00 1st Qu.:2013-04-04 13:00:00.00
## Median :29.00 Median :2013-07-03 10:00:00.00
## Mean :26.23 Mean :2013-07-03 05:22:54.64
## 3rd Qu.:44.00 3rd Qu.:2013-10-01 07:00:00.00
## Max. :59.00 Max. :2013-12-31 23:00:00.00
##
df_1 <- select(flights, flight, carrier, origin, dest)
#En la consulta anterior se necesita conocer el nombre de la aerolínea.
df_2 <- df_1%>%
left_join(airlines, by=c('carrier'))
df_2
## # A tibble: 336,776 × 5
## flight carrier origin dest name
## <int> <chr> <chr> <chr> <chr>
## 1 1545 UA EWR IAH United Air Lines Inc.
## 2 1714 UA LGA IAH United Air Lines Inc.
## 3 1141 AA JFK MIA American Airlines Inc.
## 4 725 B6 JFK BQN JetBlue Airways
## 5 461 DL LGA ATL Delta Air Lines Inc.
## 6 1696 UA EWR ORD United Air Lines Inc.
## 7 507 B6 EWR FLL JetBlue Airways
## 8 5708 EV LGA IAD ExpressJet Airlines Inc.
## 9 79 B6 JFK MCO JetBlue Airways
## 10 301 AA LGA ORD American Airlines Inc.
## # ℹ 336,766 more rows
Para obtener una base de datos que podamos consultar para saber de cada vuelo el origen, destino y la aerolínea que lo opera, hacemos uso de las función de select y luego de la función left_join. Es necesario implementar left_join para poder anexar a nuestra base el nombre de las aerolíneas.
#Se necesita saber la cantidad de vuelos por cada destino para identificar cuáles son los destinos más buscados.
#Agregar el nombre de la aerolínea al data frame anterior.
df_3 <- flights %>%
left_join(airlines, by=c('carrier'))
df_4 <- df_3 %>%
group_by(dest,carrier) %>%
count() %>%
arrange(desc(n))
df_4
## # A tibble: 314 × 3
## # Groups: dest, carrier [314]
## dest carrier n
## <chr> <chr> <int>
## 1 ATL DL 10571
## 2 CLT US 8632
## 3 DFW AA 7257
## 4 MIA AA 7234
## 5 ORD UA 6984
## 6 IAH UA 6924
## 7 SFO UA 6819
## 8 FLL B6 6563
## 9 MCO B6 6472
## 10 ORD AA 6059
## # ℹ 304 more rows
Haciendo uso de group_by, count y arrange, podemos obtener una base de datos que contenga los destinos más buscados. Gracias a esta base de datos, podemos conocer el top de destinos, en el primer lugar ATL con 10571 vuelos, en el segundo lugar CLT con 8632 vuelos y en tercero DFW con 7257 vuelos.
#Se necesita conocer las aerolíneas (clave y nombre) y destinos que vuelan por la Mañana: de 6 a 12, Tarde: de 12 a 19 , Noche: de 19 a 24 y Madrugada de 24 a 6.
#Agrega un nuevo campo a la tabla con el nombre de clas_horario y agrega, mañana, tarde, noche y madrugada según sea el caso.
df_5 <- select (flights, flight, carrier, dest, hour) %>%
left_join(airlines, by=c('carrier')) %>%
mutate(class_horario = ifelse (hour <= 6, 'madrugada', ifelse(hour <= 12, 'mañana', ifelse(hour <= 19, 'tarde', ifelse(hour <= 24,'noche' )))))
df_5
## # A tibble: 336,776 × 6
## flight carrier dest hour name class_horario
## <int> <chr> <chr> <dbl> <chr> <chr>
## 1 1545 UA IAH 5 United Air Lines Inc. madrugada
## 2 1714 UA IAH 5 United Air Lines Inc. madrugada
## 3 1141 AA MIA 5 American Airlines Inc. madrugada
## 4 725 B6 BQN 5 JetBlue Airways madrugada
## 5 461 DL ATL 6 Delta Air Lines Inc. madrugada
## 6 1696 UA ORD 5 United Air Lines Inc. madrugada
## 7 507 B6 FLL 6 JetBlue Airways madrugada
## 8 5708 EV IAD 6 ExpressJet Airlines Inc. madrugada
## 9 79 B6 MCO 6 JetBlue Airways madrugada
## 10 301 AA ORD 6 American Airlines Inc. madrugada
## # ℹ 336,766 more rows
Para conocer el horario de vuelos, debemos de usar la función select y los factores lógicos, para separar de manera correcta el día por secciones de horario. Una vez realizada esta nueva base de datos, será muy fácil conocer la frecuencia con la que viajan las personas en el día, si son más en la mañana o en la madrugada por ejemplo.
#Se necesita saber la cantidad de vuelos por aerolínea
#y destino que hay por la mañana, tarde, noche y madrugada. (group_by() y count())
vuelos_h <- select (df_5, carrier, class_horario, dest) %>%
group_by(carrier, dest) %>%
count(class_horario)
print(vuelos_h)
## # A tibble: 791 × 4
## # Groups: carrier, dest [314]
## carrier dest class_horario n
## <chr> <chr> <chr> <int>
## 1 9E ATL madrugada 55
## 2 9E ATL mañana 4
## 3 9E AUS tarde 2
## 4 9E AVL mañana 10
## 5 9E BGR noche 1
## 6 9E BNA mañana 12
## 7 9E BNA noche 1
## 8 9E BNA tarde 461
## 9 9E BOS mañana 426
## 10 9E BOS noche 12
## # ℹ 781 more rows
No solamente podemos saber cual es el horario preferencial de las personas para viajar, sino también, cuáles son los horarios más frecuentados por las aerolíneas para operar vuelos, como se muestra en la tabla.
#Se necesita saber a que destinos vuela la aerolínea American Airlines Inc.-AA
#durante la madrugada.(select(),filter(),group_by())
AM_AA <- select(vuelos_h, carrier, dest, class_horario) %>%
filter(carrier == "AA", class_horario == "madrugada")
print(AM_AA)
## # A tibble: 6 × 3
## # Groups: carrier, dest [6]
## carrier dest class_horario
## <chr> <chr> <chr>
## 1 AA DFW madrugada
## 2 AA LAS madrugada
## 3 AA MCO madrugada
## 4 AA MIA madrugada
## 5 AA ORD madrugada
## 6 AA SJU madrugada
Conocer el tipo de avión, nos ayudará a conocer el número de pasajeros que se atienden, pues de esto depende la eficacia de cada vuelo realizado.
#Se necesita saber a que destinos vuela la aerolínea American Airlines Inc.-AA
#durante la madrugada.(select(),filter(),group_by())
AM_AA <- select(vuelos_h, carrier, dest, class_horario) %>%
filter(carrier == "AA", class_horario == "madrugada")
print(AM_AA)
## # A tibble: 6 × 3
## # Groups: carrier, dest [6]
## carrier dest class_horario
## <chr> <chr> <chr>
## 1 AA DFW madrugada
## 2 AA LAS madrugada
## 3 AA MCO madrugada
## 4 AA MIA madrugada
## 5 AA ORD madrugada
## 6 AA SJU madrugada
Ahora queremos conocer exclusivamente los destinos de la aerolínea American Airlines durante la madrugada y para ello, filtramos la aerolínea y el horario.
#Se solicita analizar para la aerolínea American Airlines si los vuelos que tienen retraso en la partida
#también tienen retraso en la hora de llegada.
delay_AA <- select(flights, carrier,flight, dep_delay, arr_delay) %>%
filter(carrier == 'AA', dep_delay !=0) %>%
mutate(Delayed =
ifelse (arr_delay !=0, "Completely", "Only Departure"))
print(delay_AA)
## # A tibble: 30,486 × 5
## carrier flight dep_delay arr_delay Delayed
## <chr> <int> <dbl> <dbl> <chr>
## 1 AA 1141 2 33 Completely
## 2 AA 301 -2 8 Completely
## 3 AA 707 -1 31 Completely
## 4 AA 1895 -4 -12 Completely
## 5 AA 1837 13 5 Completely
## 6 AA 413 -2 -3 Completely
## 7 AA 303 -1 14 Completely
## 8 AA 305 -4 4 Completely
## 9 AA 1815 -3 -10 Completely
## 10 AA 2279 -1 -7 Completely
## # ℹ 30,476 more rows
# Crear el scatter plot
ggplot(delay_AA, aes(x = dep_delay, y = arr_delay, color = Delayed)) +
geom_point() +
labs(title = "Relación entre Retraso en la Partida y Retraso en la Llegada (American Airlines)",
x = "Retraso en la Partida",
y = "Retraso en la Llegada") +
scale_color_manual(values = c("Only Departure" = "blue", "Completely" = "red"))
## Warning: Removed 140 rows containing missing values (`geom_point()`).
La gráfica muestra como algunos de los vuelos que se abordan retrasados llegan retrasados a su destino, esto afecta la calidad del servicio de la aerolinea, pues los clientes esperan llegar a su destino en tiempo, más si harán conexiones. Estos vuelos, son los puntitos más dispersos al final de la línea de derecho.
#Visualiza la tendencia de la temperatura durante los primeros 15 días del mes de Enero
#en los vuelos que parten de aeropuerto "Newark, EWR", útiliza una gráfica de línea.
trend_1 <- select(weather, origin, month, day, temp) %>%
filter(origin == 'EWR', month == 1, day <= 15) %>%
group_by(day) %>%
summarize(prom_temp = mean(temp))
print(trend_1)
## # A tibble: 15 × 2
## day prom_temp
## <int> <dbl>
## 1 1 36.8
## 2 2 28.7
## 3 3 29.6
## 4 4 34.3
## 5 5 36.6
## 6 6 39.9
## 7 7 40.3
## 8 8 38.6
## 9 9 42.1
## 10 10 43.6
## 11 11 42.0
## 12 12 46.0
## 13 13 46.4
## 14 14 50.8
## 15 15 37.9
ggplot(trend_1, aes(day, prom_temp, color = prom_temp)) +
geom_line() +
geom_point() +
labs(title="Temp. trend Enero") +
theme_void()
El gráfico muestra que durante los primeros días, la temperatura en Newark y EWR,es baja pero demasiado cambiante, sin embargo va en aumento hasta llegar al punto de los 50 grados fahrenheit, no obstante al final de los 15 días hay una baja de nuevo.
#Visualiza la temperantura más frencuente en los primeros 15 días del mes de enero, utiliza un gistograma.
trend_2 <- select(weather, month, day, temp) %>%
filter(month == 1, day <= 15)
print(trend_2)
## # A tibble: 1,074 × 3
## month day temp
## <int> <int> <dbl>
## 1 1 1 39.0
## 2 1 1 39.0
## 3 1 1 39.0
## 4 1 1 39.9
## 5 1 1 39.0
## 6 1 1 37.9
## 7 1 1 39.0
## 8 1 1 39.9
## 9 1 1 39.9
## 10 1 1 41
## # ℹ 1,064 more rows
ggplot(trend_2, aes(temp)) +
geom_histogram(fill = "lightpink") +
labs(title = "Temperatura en la primer quincena de Enero")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
El histograma nos muestra que la temperatura más frecuente se encuentra entre los 35 a los 50 grados fahrenheit, sin embargo sí es usual que se llegue a una temperatura por arriba de los 50 grados.
# Filtrar los datos para los primeros 15 días de cada mes
trend_3 <- weather %>%
filter(day <= 15)
# Crear un histograma con Facets para mostrar la temperatura en cada mes
ggplot(trend_3, aes(x = temp, fill = factor(month))) +
geom_histogram() +
labs(title = "Temperatura en los primeros 15 días de cada mes") +
facet_wrap(~month, ncol = 3) +
scale_fill_discrete(name = "Mes")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
El gráfico muestra por mes la temperatura que se experiementa a traves de la duración del mes, es por ello que dependiendo de la temporada, podemos ver como la temperatura cambia de estar de lado izquierdo que es el más frío a lado derecho que es el más caliente, llegando por arriba de los 75 grados fahrenheit.
#Número de vuelos que salieron de Nueva York en 2013 por aerolínea (mostrar solamente las 10 aerolíneas con más vuelos), utilizando una gráfica de barras.
flights_2013 <- filter(flights, year == 2013)
top_airlines <- flights_2013 %>%
group_by(carrier) %>%
tally() %>%
arrange(desc(n)) %>%
top_n(10)
## Selecting by n
ggplot(top_airlines, aes(x = reorder(carrier, n), y = n)) +
geom_bar(stat = "identity", fill = "lightblue") +
labs(title = "Número de Vuelos por Aerolínea en 2013", x = "Aerolínea", y = "Número de Vuelos")
La gráfica muestra los vuelos por aerolineas en el año 2013, United Air Lines Inc. es la aerolinea con más vuelos operados por arriba de los 60 mil, seguida por JetBlue Airways con un cuarto de 10 mil menos como se muestra en la gráfica y en tercer lugar casi al apar de ExpressJet Airlines-Inc.
#Visualiza el punto anterior en una gráfica de pie.
ggplot(top_airlines, aes(x = "", y = n, fill = carrier)) +
geom_bar(stat = "identity", width = 1) +
coord_polar("y", start = 0) +
labs(title = "Proporción de Vuelos por Aerolínea en 2013") +
theme_void()
# Relaciona el data frame flights con el data frame airports a través del campo destino. ¿Cómo lograr esta relación?
# Unir flights y airlines por la variable carrier
df_af <- airports %>% rename('dest' = 'faa')
df_af1 <- flights %>% left_join(df_af, by=c('dest'))
df_af1
## # A tibble: 336,776 × 26
## year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
## <int> <int> <int> <int> <int> <dbl> <int> <int>
## 1 2013 1 1 517 515 2 830 819
## 2 2013 1 1 533 529 4 850 830
## 3 2013 1 1 542 540 2 923 850
## 4 2013 1 1 544 545 -1 1004 1022
## 5 2013 1 1 554 600 -6 812 837
## 6 2013 1 1 554 558 -4 740 728
## 7 2013 1 1 555 600 -5 913 854
## 8 2013 1 1 557 600 -3 709 723
## 9 2013 1 1 557 600 -3 838 846
## 10 2013 1 1 558 600 -2 753 745
## # ℹ 336,766 more rows
## # ℹ 18 more variables: arr_delay <dbl>, carrier <chr>, flight <int>,
## # tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>,
## # hour <dbl>, minute <dbl>, time_hour <dttm>, name <chr>, lat <dbl>,
## # lon <dbl>, alt <dbl>, tz <dbl>, dst <chr>, tzone <chr>
#6 Crea un nuevo data frame con el punto anterior únicamente con los 5 carriers con más vuelos por destino.
df_vd <- df_af1 %>% select(carrier, origin) %>% group_by(origin, carrier) %>% count(origin) %>% arrange(desc(n))
df_vd
## # A tibble: 35 × 3
## # Groups: origin, carrier [35]
## origin carrier n
## <chr> <chr> <int>
## 1 EWR UA 46087
## 2 EWR EV 43939
## 3 JFK B6 42076
## 4 LGA DL 23067
## 5 JFK DL 20701
## 6 LGA MQ 16928
## 7 LGA AA 15459
## 8 JFK 9E 14651
## 9 JFK AA 13783
## 10 LGA US 13136
## # ℹ 25 more rows
#EWR
top_EWR = df_vd %>% filter(origin%in%("EWR")) %>% head(5)
top_EWR
## # A tibble: 5 × 3
## # Groups: origin, carrier [5]
## origin carrier n
## <chr> <chr> <int>
## 1 EWR UA 46087
## 2 EWR EV 43939
## 3 EWR B6 6557
## 4 EWR WN 6188
## 5 EWR US 4405
#JFK
top_JFK <- df_vd %>% filter(origin%in%("JFK")) %>% head(5)
top_JFK
## # A tibble: 5 × 3
## # Groups: origin, carrier [5]
## origin carrier n
## <chr> <chr> <int>
## 1 JFK B6 42076
## 2 JFK DL 20701
## 3 JFK 9E 14651
## 4 JFK AA 13783
## 5 JFK MQ 7193
#LGA
top_LGA <- df_vd %>% filter(origin%in%("LGA")) %>% head(5)
top_LGA
## # A tibble: 5 × 3
## # Groups: origin, carrier [5]
## origin carrier n
## <chr> <chr> <int>
## 1 LGA DL 23067
## 2 LGA MQ 16928
## 3 LGA AA 15459
## 4 LGA US 13136
## 5 LGA EV 8826
View(df_vd)
Gráficos
# Gráfico de barras
grf_1 <- ggplot(df_vd , aes(x=carrier, y=n, fill=origin))+
geom_bar(stat="identity", color='#FFFFFF') +
theme_minimal() +
scale_fill_manual(values=c('#DAF7A6','#FFC300', '#FF5733')) +
labs(title='Top 5 aerolineas', x='Aerolinea', y='Cantidad')
grf_1
Gráfica 2
# Gráfico de barras con resultados no apilados
grf_2 <- ggplot(df_vd, aes(x = carrier, y = n, fill = origin)) +
geom_bar(stat = "identity", color = "#FFFFFF", position = position_dodge(width = 0.8)) +
theme_minimal() +
scale_fill_manual(values = c('#DAF7A6', '#FFC300', '#FF5733')) +
labs(title = 'Top 5 aerolíneas por destino', x = 'Aerolínea', y = 'Cantidad')
grf_2
Gráfica 3
# Gráficos de barras apilados verticalmente, uno por color
grf_3 <- ggplot(df_vd, aes(x = carrier, y = n, fill = origin)) +
geom_bar(stat = "identity", color = "#FFFFFF", position = position_dodge(width = 0.8)) +
theme_minimal() +
scale_fill_manual(values = c('#DAF7A6', '#FFC300', '#FF5733')) +
labs(title = 'Top 5 aerolíneas por destino', x = 'Aerolínea', y = 'Cantidad') +
facet_grid(origin ~ ., scales = "free_y", space = "free_y")
grf_3
Las tres gráficas, muestran el número de vuelos por aerolinea en cada uno de los tres aeropuertos. Podemos observar que el aeropuerto de EWR, es el que tiene mayor flujo de gente pues opera el mayor número de vuelos con las aerolineas ExpressJet Airlines Inc. y United Air Lines Inc., en segundo lugar tenemos al eropuerto de JFK, con la aerolinea JetBlue Airways y por último, el aeropuerto LGA.
CONCLUSIÓN: La aerolinea American Airlines, se encuentra en constante crecimiento, pues es en los visuales que podemos percibir su presencia en el mercado y su diferenciación sobre otras aerolineas. Aún hay muchas cosas en las que se pueden enfocar para mejorar, como los contratiempos que atrasan la llegada y salida de los vuelos, las horas en las que operan, el aeropuerto en el que lo hacen y el tipo de avión que usan, pues es el número de personas que sube a cada vuelo la diferencia en el número de clientes que atienden. Tiene muchas oportunidades de igual manera para diferenciarse en caso de no querer ser como las tres aerolineas que lideran el mercado, la clave puede estar en la fidelidad, calidad, lujo, excelencia o cualquier otra caracteristica que sea distintiva de una buena aerolinea.
El valor de la integridad se define como una coherencia entre las acciones, decisiones, creencias, principios y valores de un individuo, es decir no existe una carencia de una de estas características en su persona. Además la importancia de sus valores, reside en la honestidad y transparencia, ya que de esta manera se pueden establecer cimientos para un crecimiento sostenible.
Como profesionista, el comportamiento ético y la promoción de valores son indispensables para evitar cualquier indicio de corrupción, ya que el practicar estos valores reduce el riesgo de cometer cualquier acción indebida por el nivel de conciencia que posees como persona. A continuación se estipula el código de ética profesional de mi disciplina de manera breve:
Transparencia: es fundamental que las acciones que se desarrollen sean claras y visibles para todos, es decir la información disponible para todos los colaboradores, los resultados accesibles para cada miembro y las decisiones que se tomen sean comunicadas a toda la organización.
Respeto: cada individuo debe de ser respetado independientemente de su sexo, raza, cultura o nacionalidad. Todas y todos deben de ser cooperativos, amables y pacientes.
Responsabilidad: se debe de priorizar el trabajo individual, de manera eficiente y en tiempo, para que pueda fluir el trabajo en equipo, pues si cada miembro realiza su parte el proceso será más sencillo.
Honestidad: debes de ser una persona honrada con tus compañeros y decente, es decir que tengas conciencia de las consecuencias de tus actos y ser sincero con tus acciones.
Trato amable y respetuoso: No cuesta nada ser amable, al contrario solamente puedes obtener beneficios positivos, desde ser amables con tus compañeros, proveedores y clientes, obtendrás mejores resultados económicos y sociales.
¿Cuáles son las implicaciones de tener a tu disposición la información de una empresa?
El tener a la disposición datos privados, es una gran responsabilidad, incluso el uso de datos de personas físicas y morales privadas es regulado por la Constitución Mexicana, en donde se estipula que el uso de datos debe de ser de manera lícita y leal (Artículo 16. Constitución Mexicana). Desde el paso de obtención hasta el paso de almacenamiento, la persona responsable debe de trabajar con integridad, pues es en su ética profesional que recae el tratamiento de los datos.
El Instituto Nacional de Transparencia, Acceso a la Información y Protección de Datos Personales, propone una serie de obligaciones para el correcto cumplimiento de la ley. El primero es conocer a detalle la legislación mexicana para el tratado de los datos, el segundo, es no hacer uso de medios engañosos o fraudulentos para la obtención de la información y el tercero, priorizar la expectativa razonable de privacidad de los titulares en todos momento(2016). Para hacer más fácil el uso correcto de los datos, existen protocolos que se han diseñado especialmente para empresas que trabajan con el uso de datos, entre ellos se encuentran IBM, con un protocolo protocolo para cada tipo de dato, por ejemplo para los datos obtenido de internet, su protocolo se divide en 5 niveles, aplicación, transporte, red, interfaz de red y Hardware, para que ningún paso de tratamiento quede sin regular (IBM, 2021).
Referencias
ONU.(2023). La Ciencia de la Integridad
INAI.(2016). Guía para cumplir con los principios y deberes de la Ley Federal de Protección de Datos Personales en Posesión de los Particulares
IBM.(2021). Protocolos a nivel de aplicación de Internet
Consejo coordinador empresarial.(2023). Código de Integridad y ética empresarial.