Introducción
Actualmente la tecnología dio lugar a que surgieran aplicaciones interactivas como Whatsapp, Twitter y otras aplicaciones de las cuales son más conocidas como redes sociales, en los cuales el usuario puede crear sus contenidos, compartir mensajes de textos, fotos, videos y notas de voz. Por lo cual, se han convertido en un factor importante para la comunicación e interacción entre los usuarios.
El análisis de datos de interacciones en redes sociales se trata de recopilar datos de las personas para después darle seguimiento y conocer las interacciones que hay entre los usuarios.
Las redes sociales han crecido en la última decada para llegar a ser un importante medio para adquirir y difundir informacion en diferentes dominios, como negocios, entretenimiento, política, entre otras (Zeng, 2010).
El crecimiento de las redes sociales han abierto una nueva oprtunidad para analizar varios aspectos. Por ejemplo, los datos de las redes sociales pueden ser analizados para obtener información sobre los problemas, tendencias, influncers y otro tipo de información (Cárdenas, 2020).
El análisis de redes sociales se utiliza para observar e interpretar las interacciones que hay entre los usuarios en las diferentes aplicaciones pero en este caso se estarán analizando dos aplicaciones las cuales son Whatsapp y Twitter.
Whatsapp es la tercer aplicación más usada en el mundo con una cantidad de 1.5 mil millones de ususarios y Twitter se encuentra en la posición doce con 365 millones de usuarios (Reasons why, 2019). En la primer aplicación analizaremos una conversación de un grupo de Whatsapp que cuenta con 100 participantes con la cual obtendremos la cantidad de mensajes que se envian en un día durante un años (junio 2019 - junio 2020), entre otros datos y en la segunda aplicación obtendremos información para analizar lo que las personas dicen sobre la pandemia actual de COVID-19.
Antecedentes
El Análisis de redes sociales se desarrolló con los estudios de parentesco de Elizabeth Bott en Inglaterra entre los años 1950, y con los estudios de urbanización del grupo de antropólogos de la Universidad de Mánchester (acompañando a Max Gluckman y después a J. Clyde Mitchell) entre los años 1950 y 1960, investigando redes comunitarias en el sur de África, India y el Reino Unido. Al mismo tiempo, el antropólogo británico Nadel SF Nadel codificó una teoría de la estructura social que influyó posteriormente en el análisis de redes (Google site, s.f).
Entre los 60’s y 70’s, grupos de grandes académicos trabajaron en la combinación de diferentes temas y tradiciones. Uno de ellos fue el de Harrison White y estudiantes en el Departamento de Relaciones Sociales de la Universidad de Harvard, como lo fueron: Ivan Chase, Bonnie Erickson, Harriet Friedmann, Mark Granovetter, Nancy Howell, Joel Levine, Nicholas Mullins, John Padgett, Michael Schwartz y Barry Wellman. También Charles Tilly, quien se enfocó en redes en sociología política y movimientos sociales, y Stanley Milgram, el cual desarrolló la tesis de los “seis grados de separación”. Entre los antiguos estuiantes de White se encuentran: Mark Granovetter y Barry Wellman, quienes han elaborado y ampliado el análisis de redes sociales.
En la actualidad, los seres humanos utilizan de manera frecuente aparatos electrónicos, en donde el internet interviene con mayor frecuencia en nuestra vida diaria, ya que las personas se encuentran cada vez más conectadas entre sí, lo que podemos llamar globalización.
La ARS (Analisis de las Redes Sociales) o en ingles ASN (Analysis of Social Networks), también llamado análisis de datos reticulares o estructurales es una parte fundamental para entender rápidamente todas las publicaciones y las preferencias de las redes. En el cual se centra en descubrir los patrones de interacción entre las personas (Cárdenas, 2020).
“La aplicación del ARS ha crecido enormemente durante la última década y sigue en constante crecimiento. Si estudiamos el uso del análisis de redes en investigación científica, podemos comprobar que cada año se publican más artículos o libros donde se menciona “análisis de redes” (AR) o “análisis de redes sociales” (ARS)” –Julian Cardenas. Doctor en Sociología.
Objetivos
Los objetivos del proyecto son:
- Analizar la frecuencia de mensajes que se envian en un grupo de 100 personas en WhatsApp. Para responder las preguntas:
- ¿En qué mes hay más frecuencia de mensajes?
- ¿Cómo es el flujo de mensajes en vacaciones?
- Identificar cuales son las palabras y emojis más utilizados en dicho grupo. Y responder lo siguiente:
- ¿La palabras más usadas son solo sobre asuntos escolares?
- ¿Cómo es el comportamiento de los integrantes de la conversación?
- Analizar tweets de los usuarios de Twitter respecto a la actual pandemia de COVID-19.
Teoría
Ciencia de datos
“La ciencia de datos es la disciplina de hacer que los datos sean útiles” (Kozyrkov, 2019).
La ciencia de datos se trata de emplear técnicas de programación para analizar datos. Pero no es sólo eso; la ciencia de datos aplicada requiere el desarrollo de habilidades en cuatro áreas (Brust, 2019):
Programación: Los data scientis o “cientifico de datos” utiliza la programación para explicar a las computadoras lo que necesita de ellas. Estó emplea un pensamiento computacional lo cual ayuda a hacer menos compleja una tarea con una serie de pasos que se puede resolver con un código interpretado por una computadora (Brust, 2019).
Estadística: Es fundamental para extraer conocimiento de datos.
La estadística es la ciencia de cambiar tu mente (cuando hay incertidumbre) (Kozyrkov, 2019).
Comunicación: Parte de hacer ciencia de datos es saber cómo discutir los datos usados y los resultados obtenidos con interlocutores muy diversos (Brust, 2019).
Conocimiento de dominios: Es la experiencia acumulada en un campo particular de actividad humana. No sólo ayuda a discernir si las respuestas obtenidas mediante un sofisticado análisis estadístico tienen sentido. También es necesario para saber cuáles son las preguntas que deberíamos estar haciendo (Brust, 2019).
La siguiente imagen complementa la toma de decisiones, con las tres formas principales de hacer que los datos sea útiles (Kozyrkov, 2019).
Regla de oro de la analítica: solo saca conclusiones de lo que puedes ver (Kozyrkov, 2019).
Método
Establecer folder de trabajo y bibliotecas a utilizar
setwd("~/verano")
library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "readr", "knitr", "DT", "dplyr", "rwhatsapp", "lubridate", "tidyverse", "kableExtra", "RColorBrewer", "tidytext", "tidyr", "stopwords", "ggimage", "rtweet", "stringr", "wordcloud", "RCurl", "tm", "xml2", "ggmap", "maps")
## Installing package into 'C:/Users/lopez/OneDrive/Documentos/R/win-library/3.6'
## (as 'lib' is unspecified)
## Warning: unable to access index for repository http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6:
## no fue posible abrir la URL 'http://www.stats.ox.ac.uk/pub/RWin/bin/windows/contrib/3.6/PACKAGES'
## package 'tidyverse' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\lopez\AppData\Local\Temp\Rtmp4Qg4hO\downloaded_packages
##
## tidyverse installed
## Warning in p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", : Failed to install/load:
## tidyverse
Análisis de WhatsApp
Leemos el chat
Separación de datos por meses (enero a junio 2020)
# PREPARACIÓN DE DATOS PARA ANÁLISIS POR DATE/TIME
michat <- michat %>%
mutate(day = date(time)) %>%
mutate(
# SEGMENTACIÓN POR MES
mes = case_when(
day >= dmy(01012020) & day <= dmy(31012020) ~ "Enero 2020",
day >= dmy(01022020) & day <= dmy(29022020) ~ "Febrero 2020",
day >= dmy(01032020) & day <= dmy(31032020) ~ "Marzo 2020",
day >= dmy(01042020) & day <= dmy(30042020) ~ "Abril 2020",
day >= dmy(01052020) & day <= dmy(31052020) ~ "Mayo 2020",
day >= dmy(01062020) & day <= dmy(30062020) ~ "Junio 2020",
T ~ "Fuera de rango")
) %>%
mutate( mes = factor(mes) ) %>%
filter(!is.na(author))
Análisis de las palabras más utilizadas
# REMOVEMOS PALABRAS SIN SIGNIFICADO RELEVANTE, COMO ARTÍCULOS, PRONOMBRES, ETC.
remover_palabras <- c(stopwords(),
"y", "la", "el","en", "es", "si", "lo", "ya", "pero", "esa", "los","yo","mi", "un", "con", "las", "omitido", "más","eso", "al", "una", "del", "qué", "así", "le", "su", "va", "porque", "todos", "hay", "les", "pues", "ese", "son", "está", "pues", "ahí", "sí","ver", "estás", "algo", "vas", "ir","voy", "creo","fue","solo", "ni","sólo","nada", "aqui", "q", "tú", "cruz", "rebeca", "mendivil", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "644", "multimedia","19","20","52","12","11","16","29","199","1818","24","141","14","25","3079","26","31","27","30","22","28","21","15","17","23","244","18","13","41","51","0026","50","40","42","58","42","2463","103","54","57","45","43","02","53","59","m","p","44","01","00","46","48","yami","morales","velarde","jennifer","encinas","chacara","paloma","efren","zazueta","muñoz","dennis","cynthia","hector","andrea","jonathan","velazquez","higuera","cristina","valdez","areli","arguelles","salazar","deemi","sergio","héctor","35","32","05","56","carlos","55","36","9776","37","49","espinoza","06","47","34","07","3286","163","38","mariana","08","pompa","lares","33","04","39","rene","03","137","09","6349","serna","javier","xd","alv","https","segovia","647","275","118","0813","aguirre","6965", "jajaja", "pa", "we", "jajajaja" ,"127", "jaja", "5424", "david", "156", "1440", "alguien", "tu", "que", "de", "se", "te", "o", "como", "este", "bien", "nos", "para", "por")
Análisis de Twitter
Se oculta el código de la obtención de datos por medidad de seguridad y privacidad
- Gráfico de seguidores de cuentas elegidas al azar
## # A tibble: 6 x 20
## user_id screen_name name location description url protected followers_count
## <chr> <chr> <chr> <chr> <chr> <chr> <lgl> <int>
## 1 729389~ CCM1956 "CCM~ "Maryla~ "#MAGA\U00~ <NA> FALSE 93964
## 2 954230~ Plainoldwo~ "Abi~ "Texas,~ "Mother of~ <NA> FALSE 531
## 3 793043~ ErinByrneG~ "Eri~ "" "" <NA> FALSE 19
## 4 855465~ jsgjames "Jus~ "" "“Happines~ <NA> FALSE 383
## 5 127418~ YHkpc "Yel~ "" "Love HK. ~ <NA> FALSE 30
## 6 214966~ sypie1 "Syb~ "South-~ "I is a fa~ <NA> FALSE 99
## # ... with 12 more variables: friends_count <int>, listed_count <int>,
## # statuses_count <int>, favourites_count <int>, account_created_at <dttm>,
## # verified <lgl>, profile_url <chr>, profile_expanded_url <chr>,
## # account_lang <lgl>, profile_banner_url <chr>, profile_background_url <chr>,
## # profile_image_url <chr>
- Gráfico de las horas de los tweets
## [1] "user_id" "status_id"
## [3] "created_at" "screen_name"
## [5] "text" "source"
## [7] "display_text_width" "reply_to_status_id"
## [9] "reply_to_user_id" "reply_to_screen_name"
## [11] "is_quote" "is_retweet"
## [13] "favorite_count" "retweet_count"
## [15] "quote_count" "reply_count"
## [17] "hashtags" "symbols"
## [19] "urls_url" "urls_t.co"
## [21] "urls_expanded_url" "media_url"
## [23] "media_t.co" "media_expanded_url"
## [25] "media_type" "ext_media_url"
## [27] "ext_media_t.co" "ext_media_expanded_url"
## [29] "ext_media_type" "mentions_user_id"
## [31] "mentions_screen_name" "lang"
## [33] "quoted_status_id" "quoted_text"
## [35] "quoted_created_at" "quoted_source"
## [37] "quoted_favorite_count" "quoted_retweet_count"
## [39] "quoted_user_id" "quoted_screen_name"
## [41] "quoted_name" "quoted_followers_count"
## [43] "quoted_friends_count" "quoted_statuses_count"
## [45] "quoted_location" "quoted_description"
## [47] "quoted_verified" "retweet_status_id"
## [49] "retweet_text" "retweet_created_at"
## [51] "retweet_source" "retweet_favorite_count"
## [53] "retweet_retweet_count" "retweet_user_id"
## [55] "retweet_screen_name" "retweet_name"
## [57] "retweet_followers_count" "retweet_friends_count"
## [59] "retweet_statuses_count" "retweet_location"
## [61] "retweet_description" "retweet_verified"
## [63] "place_url" "place_name"
## [65] "place_full_name" "place_type"
## [67] "country" "country_code"
## [69] "geo_coords" "coords_coords"
## [71] "bbox_coords" "status_url"
## [73] "name" "location"
## [75] "description" "url"
## [77] "protected" "followers_count"
## [79] "friends_count" "listed_count"
## [81] "statuses_count" "favourites_count"
## [83] "account_created_at" "verified"
## [85] "profile_url" "profile_expanded_url"
## [87] "account_lang" "profile_banner_url"
## [89] "profile_background_url" "profile_image_url"
- Lugar de los usuarios elegidos al azar
Resultados y discusión
Análisis de Whatsapp
- Gráfico con la frecuencia de mensajes enviados
# PALETA DE COLORES
paleta.mes <- brewer.pal(7,"Set1")[c(1,2,3,4,5,6,7)]
# VERIFICANDO CUÁNTOS MENSAJES SE ENVIARON DURANTE EL PERIODO DE TIEMPO
michat %>%
group_by(mes) %>%
count(day) %>%
ggplot(aes(x = day, y = n, fill=mes)) +
geom_bar(stat = "identity") +
scale_fill_manual(values=paleta.mes) +
ylab("Número de mensajes") + xlab("Fecha") +
ggtitle("Mensajes por día", "Frecuencia de enero a junio del 2020") +
theme_minimal() +
theme( legend.title = element_blank(),
legend.position = "bottom")
En está gráfica se puede observar que el mes con mayor frecuencia es en Marzo que se encuentra en el color amarillo, en cambio en el mes de enero que se encuentra en color azul tiene menor de frecuencia debido a las vacaciones de invierno. Además en el mes de marzo y mayo se pueden notar unos picos los cuales indican que hubó más actividad en estos meses, ya que por ejemplo, en marzo, hablando de este año (2020), comenzaron las clases virtuales, por lo que existió mayor comunicación entre los integrantes del grupo y en el caso de mayo, que es cuando da fin el semestre, exite un pico de mayor actividad ya que son finales.
- Análisis de los emojis más utilizados
michat %>%
unnest(emoji) %>%
count(emoji, sort = TRUE) %>%
top_n(n = 10, n) %>%
ggplot(aes(x = reorder(emoji, n), y = n)) +
geom_col(fill="green", alpha=0.5) +
ylab("Cantidad") + xlab( "Emoji") +
coord_flip() +
ggtitle("Cantidad de veces que se usa un emoji")
En este caso, se analizó la conversación tomando en cuenta lo emojis más utilizados. Se puede observar que los dos primeros son los emojis de quimicos, ya que la conversación analizada es de un grupo de Ingeniería Química. También de los emojis más utlizados podemos observar corazones y caritas riendo, con esto podemos conlcuir que los integrantes del grupo tienen una muy buena relación y no solo tienen conversaciones respecto a lo escolar, si no también respecto a su vida personal.
- Gráfico de palabras más utilizadas
# CONTEO DE PALABRAS
michat %>%
unnest_tokens(input = text, output = word) %>%
filter(!word %in% remover_palabras) %>%
count(word) %>%
# PLOT DEL TOP 30 DE PALABRAS MÁS USADAS EN CONVERSACIÓN
top_n(30,n) %>%
arrange(desc(n)) %>%
ggplot(aes(x=reorder(word,n), y=n, fill=n, color=n)) +
geom_col(show.legend = FALSE, width = .1) +
geom_point(show.legend = FALSE, size = 3) +
scale_fill_gradient(low="#2b83ba",high="#d7191c") +
scale_color_gradient(low="#2b83ba",high="#d7191c") +
ggtitle("Palabras más usadas en la conversación de manera general") +
xlab("Palabras") +
ylab("Número de veces que se usó la palabra") +
coord_flip() +
theme_minimal()
Por último, este gráfico representa las plabras más usadas en la convesación, por lo cual las que tienen mayor frecuencia son:
mensaje
x2
bien
Y las de menor frecuencia:
hora
grupo
jajajajajaja
Sin embargo, podemos observar que se encuentran palabras con bastante frecuencua como “profe”, “clase”, “gracias”, “mañana”, etc. incluso la palabra “fisico” que esta atribuye a una clase de la carrera llamada “Fisicoquimica”; esto quiere decir, que efectivamente la conversación tiene mucho que ver con la universidad, más sin embargo, las 100 personas que integran al grupo también son buenos compañeros o amigos.
Análisis de Twitter
- Gráfico de seguidores de cuentas elegidas al azar
options(scipen = 100)
ggplot(tweets, col = "aquamarine3") +
geom_histogram(aes(x = followers_count), col = "aquamarine3")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
El gráfico representa una distribución de “power law”, que es muy común en los rankings de trending. Muchos de los usuarios elegidos tienen poca popularidad y un muy pocos de los elegidos alcanzan cientos o miles de seguidores arriba de la mayoría.
- Top 5 de los usuarios más populares (con más seguidores), su procedencia, y el contenido del tweet:
tweets %>%
top_n(5, followers_count) %>%
arrange(desc(followers_count)) %>%
select(screen_name, followers_count, location, text)
## # A tibble: 5 x 4
## screen_name followers_count location text
## <chr> <int> <chr> <chr>
## 1 sumariumcom 194319 "Venezuela / Espa~ "\U0001f4cc Los pasajeros que ~
## 2 YvesMulkers 96858 "Belgium" "#AI 50 Founders Predict What ~
## 3 CCM1956 93964 "Maryland, USA" "Hi @GovAbbott ! Since you ar~
## 4 gbroh10 66393 "Republic of Texa~ "\U0001f923 WE SHOULD ALL BE I~
## 5 IamNomad 63503 "" "NBC spent weeks documenting i~
Los tweet arrojados en la tabla anterior las columnas que muestra en una de ellas contiene los seguidores de los usuarios, su username, además del contenido breve del tweet. Esta tabla nos sirve para ver más gráfica y brevemente los datos y así poder entenderlos de una mejor manera.
- Lugar de los usuarios elegidos al azar
tweets %>%
filter(location != "", !is.na(location)) %>%
count(location) %>%
top_n(5, n) %>%
ggplot() +
geom_col(aes(x = reorder(location, n), y = n)) +
coord_flip() +
labs(title = "Procedencia de los usuarios",
x = "ubicación",
y = "cantidad")
Y por último en está nos muestra la procedencia de los 100 usuarios elegidos al azar, la mayoría de estos tiene ubicación en Estados Unidos, ya que es una de la tendencias más habladas actualmente, desde aproximadamente mediados de Marzo, ya casi 4 meses. Por lo cual, al ser Twitter una de las plataformas en las que las personas se sienten libres de expresar su punto de vista, existen una cantidad inmensa alrededor del mundo de personas que estan hablando de este tema, desde personas comunes, hasta políticos u organizaciones.
Conclusión
En el caso de Whatsapp, al generar los gráficos sobre las palabras con más frecuencia, los emojis y hasta la frecuencia de mensajes por día desde enero 2020 hasta junio 2020, de un grupo de generación de 100 estudiantes de ingeniería química, además de poder graficarlo y enfocarse en el lado estadistico, si no también concluir de un lado más lógico y analitico según las palabras o datos obtenidos. Por lo cual, de una manera más superficial o bien, psicologica, podemos concluir que los integrantes del grupo tienen una buena relación, además de que estan en contacto frecuentemente en temporadas de examenes. Todos estos datos obtenidos cumplen con los objetivos y las preguntas planteadas, como en que mes hay más frecuencia de mensajes que es el mes de Mayo y la de como es el flujo de mensajes en vacaciones, que es casi nulo, ya que no hay mucha comunicación entre los participantes de la convesación análizada.
Por otro lado, el análisis de Twitter se enfoca en obtener los últimos 100 tweets al azar que hablen sobre coronavirus, así como también los 5 usuarios más populares, el tweet redactado y el origen de estos. Con esto podemos darnos cuenta que bastante gente está hablando de esto, ya que, actualmente es uno de los temas más mencionados por el impacto que ha generado en el mundo. En base a esto podemos decir que el tercer objetivo de este proyecto se cumple satisfactoriamente.
En conclusión, el desarollo de este proyecto y el análisis de estas redes sociales, cumplió con los objetivos requeridos, ya que de manera exitosa se pudieron examinar las aplicaciones mencionadas al inicio. Además de los conocimientos que este análisis ha enriquecido los conceptos principales que eran data science y social media analythics.
Bibliografía
Brust, A. V. (2019, 17 mayo). Capítulo 1 ¿Qué es la ciencia de datos? | Ciencia de Datos para Gente Sociable. https://bitsandbricks.github.io/. Link
Cárdenas, J. (2020, 28 mayo). Qué es el Análisis de Redes Sociales - Networksprovidehappiness.com. Networks provide happiness. Link
Historia del análisis de redes sociales - Redes sociales. (s. f.). Google Sites. Recuperado 5 de julio de 2020, de Link
Kozyrkov, C. (2019, 24 octubre). ¿ Qué diablos es Ciencia de Datos? - Ciencia y Datos. Medium. Link
Las redes, webs y apps más usadas del mundo. (2019, 4 marzo). Reason Why. Link
Stieglitza, S., Mirbabaiea, M., Rossa, B., & Neubergerb, C. (2018, 1 abril). Social media analytics – Challenges in topic discovery, data collection, and data preparation. ScienceDirect. Link
Zeng, D., Chen, H., Lusch , R, & Li, S. (2010). «Social Media Analytics and Intelligence». IEEE Intelligent Systems, 25(6), 13-16. Doi