# Ayuda sobre la función 'det'
?det help("det") # Equivalente a ?det
help.start() # Abre la página de ayuda general de R
Comienza con R: Tu camino al análisis de datos desde cero
Analizando dataset Fake Instagram Profile usando R
Objetivo
Ofrecer una introducción al lenguaje R usando su más moderna versión.
Responderemos a preguntas con la exploración que realicemos del dataset.
Intentando responder a algunas preguntas, aprenderemos aspectos de dificultad creciente en el uso del Lenguaje R para Exploración de datasets - Análisis de Datos.
Dataset: Fake Instagram Profile Detection Model Kaggle.
- Lo podéis descargar también desde este enlace.
Empezando con R
RStudio
Editor: El editor de código permite escribir y ejecutar scripts de R.
Packages (Paquetes): Los paquetes son extensiones que añaden funcionalidades a R.
Help (Ayuda): R proporciona un sistema de ayuda integrado para consultar la documentación de funciones y paquetes.
Primeros pasos con R
- Calculadora: R puede utilizarse como una calculadora.
<- 2 + sin(pi) # Calcula 2 + seno(pi) y lo asigna a la variable 'a'
a # Imprime el valor de 'a' a
Scripts - Un script es un archivo de texto que contiene código R. Permite guardar y reutilizar el código. Se recomienda crear un script para trabajar con el dataset.
Comentarios y agrupación de líneas:
# Esto es un comentario. Los comentarios se ignoran al ejecutar el código.
# Usar ; para separar comandos en una línea. Por ejemplo:
<- 1; b <- 2
a
# Usar { } para agrupar comandos, especialmente dentro de funciones o estructuras de control.
if (a > 0) {
print("a es positivo")
}
[1] "a es positivo"
Tipos de datos en R
- Logical:
TRUE
oFALSE
. - Numeric: Números reales (como 2.37 o
pi
). - Character: Cadenas de texto (como
"Hola"
) - Vector: Secuencia de elementos del mismo tipo.
- data.frame, tibble: Estructura de datos tabular (como una tabla o una hoja de cálculo).
- Otros: integer, complex, raw, etc.
Importar datos
Importamos los datos usando la función read_csv()
del paquete readr
(incluido en tidyverse
). RStudio ofrece una interfaz para importar datos, pero usar código es más reproducible. Nota: Import Dataset en el interfaz de Rstudio nos ayudaría.
library(tidyverse) # Carga el paquete tidyverse (incluye readr y otros paquetes útiles)
library(readr) # Carga el paquete readr, necesario para leer archivos csv. Si ya cargaste tidyverse, este paso no es necesario.
<- read_csv("datasets/train.csv") # Lee el archivo CSV y lo guarda en un data.frame llamado 'insta'
insta head(insta) # Muestra las primeras filas del data.frame
# A tibble: 6 × 12
`profile pic` `nums/length username` `fullname words` `nums/length fullname`
<dbl> <dbl> <dbl> <dbl>
1 1 0.27 0 0
2 1 0 2 0
3 1 0.1 2 0
4 1 0 1 0
5 1 0 2 0
6 1 0 4 0
# ℹ 8 more variables: `name==username` <dbl>, `description length` <dbl>,
# `external URL` <dbl>, private <dbl>, `#posts` <dbl>, `#followers` <dbl>,
# `#follows` <dbl>, fake <dbl>
La variable insta
es un data.frame (o, más precisamente, un tibble, una versión mejorada de data.frame del paquete tibble). Un data.frame no es más que una estructura de tabla: tiene filas y columnas.
class(insta)
[1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
¿Qué hay en el dataset?
Comenzamos a explorar el dataset:
¿Cuales son las primeras/últimas filas del dataset?
Les echamos un vistazo:
head(insta) # Muestra las primeras filas
# A tibble: 6 × 12
`profile pic` `nums/length username` `fullname words` `nums/length fullname`
<dbl> <dbl> <dbl> <dbl>
1 1 0.27 0 0
2 1 0 2 0
3 1 0.1 2 0
4 1 0 1 0
5 1 0 2 0
6 1 0 4 0
# ℹ 8 more variables: `name==username` <dbl>, `description length` <dbl>,
# `external URL` <dbl>, private <dbl>, `#posts` <dbl>, `#followers` <dbl>,
# `#follows` <dbl>, fake <dbl>
tail(insta) # Muestra las últimas filas
# A tibble: 6 × 12
`profile pic` `nums/length username` `fullname words` `nums/length fullname`
<dbl> <dbl> <dbl> <dbl>
1 1 0.2 1 0
2 1 0.55 1 0.44
3 1 0.38 1 0.33
4 1 0.57 2 0
5 1 0.57 1 0
6 1 0.27 1 0
# ℹ 8 more variables: `name==username` <dbl>, `description length` <dbl>,
# `external URL` <dbl>, private <dbl>, `#posts` <dbl>, `#followers` <dbl>,
# `#follows` <dbl>, fake <dbl>
¿Qué datos tenemos almacenados en el dataset?
Resumen estadístico de las variables del dataset con la función summary()
summary(insta) # Genera un resumen estadístico de cada columna
profile pic nums/length username fullname words nums/length fullname
Min. :0.0000 Min. :0.0000 Min. : 0.00 Min. :0.00000
1st Qu.:0.0000 1st Qu.:0.0000 1st Qu.: 1.00 1st Qu.:0.00000
Median :1.0000 Median :0.0000 Median : 1.00 Median :0.00000
Mean :0.7014 Mean :0.1638 Mean : 1.46 Mean :0.03609
3rd Qu.:1.0000 3rd Qu.:0.3100 3rd Qu.: 2.00 3rd Qu.:0.00000
Max. :1.0000 Max. :0.9200 Max. :12.00 Max. :1.00000
name==username description length external URL private
Min. :0.00000 Min. : 0.00 Min. :0.0000 Min. :0.0000
1st Qu.:0.00000 1st Qu.: 0.00 1st Qu.:0.0000 1st Qu.:0.0000
Median :0.00000 Median : 0.00 Median :0.0000 Median :0.0000
Mean :0.03472 Mean : 22.62 Mean :0.1163 Mean :0.3819
3rd Qu.:0.00000 3rd Qu.: 34.00 3rd Qu.:0.0000 3rd Qu.:1.0000
Max. :1.00000 Max. :150.00 Max. :1.0000 Max. :1.0000
#posts #followers #follows fake
Min. : 0.0 Min. : 0 Min. : 0.0 Min. :0.0
1st Qu.: 0.0 1st Qu.: 39 1st Qu.: 57.5 1st Qu.:0.0
Median : 9.0 Median : 150 Median : 229.5 Median :0.5
Mean : 107.5 Mean : 85307 Mean : 508.4 Mean :0.5
3rd Qu.: 81.5 3rd Qu.: 716 3rd Qu.: 589.5 3rd Qu.:1.0
Max. :7389.0 Max. :15338538 Max. :7500.0 Max. :1.0
¿Cómo seleccionar una columna del dataset?
La forma más usual es utilizar el símbolo del dólar para seleccionar una columna:
$`#followers` # Selecciona la columna "#followers" insta
[1] 1000 2740 159 414 151 669987 122 1078
[9] 1824 12945 9884 1188 945 12033 1962 50374
[17] 7007 1128 34670 2338 3516 1809 427 759
[25] 15338538 109 536 121354 2284 186 687 966
[33] 177 744 542073 5315651 267 691 120 105
[41] 890969 361853 3678 92192 12397719 380510 132 162
[49] 369 1476 1798 2118 812 7217 313 64
[57] 1759 404 1843 320377 108 384 60 802
[65] 51145 1582 223 18842 10240 539 399 581
[73] 166 417 266 33 494 178 470 807
[81] 162 417 17303 1439 91446 824 741 1267
[89] 4594 1135 1926 1068 815 565 2556 1312
[97] 699 4328 2487 673 730 59 289 19
[105] 3551 19512 2756 5406 459 218 796 1113
[113] 138 205 331 748 490 456 971 497
[121] 99 193 492 167 99 916 196 765
[129] 45 634 1383 650 484 200 192 553
[137] 27477 464 1057 413 389 505 941 2598
[145] 59 622 2719 216 881 870 265 1204
[153] 655 1662 14222 483 1204 408 303 125
[161] 229 357 137 255 87 326946 114 167
[169] 1247 585 135 722 714 39867 533 1158
[177] 45834 876 3003 1298 3800 1358 6741307 791
[185] 732075 373 162 309 135 244 67 984
[193] 751 781 1761 318 5282 5282 228 393
[201] 875 173 3896490 106 206 259 1013 738
[209] 1008 2441 416 516 8711 433 18515 70
[217] 5863 1677 617 31182 1152 8578 4347 319
[225] 189 743 11204 419 81 947 206 541
[233] 392 4177 265 272 425 150 711 89
[241] 742 96 77 195 9 10794 104 318
[249] 355 99 300 139 13 606 428 494
[257] 1261 68 205558 668 1456 410 298 254
[265] 1070 1167 335 346 1746 268 537 805
[273] 1504 104 380 257 1775 1456 265 1051
[281] 77 220 178 728 668 406 37 56
[289] 90 60 271 1 158 39 0 0
[297] 0 12 10 1 1 0 31 5
[305] 18 12 6 47 33 4 5 0
[313] 5 107 8 48 2 51 5 0
[321] 26 0 76 165 115 6 24 40
[329] 32 0 21 79 8 49 31 15
[337] 4 0 316 0 3 2 221 181
[345] 9 2 25 26 15 59 7 40
[353] 51 133 25 864 73 184 161 42
[361] 279 219 18 106 34 42 1 38
[369] 34 23 23 83 25 13 64 90
[377] 82 140 0 51 38 21 5 21
[385] 124 5 2 42 48 32 0 0
[393] 10 19 138 11 1 39 446 9
[401] 589 27 143 0 0 124 12 16
[409] 1 120 0 26 57 13 1031 42
[417] 70 0 46 834 389 43 23 5
[425] 4 17 182 108 43 77 32 0
[433] 40 53 67 122 18 24 35 119
[441] 6 34 272 53 818 82 40 21
[449] 59 102 576 19 66 310 16 15
[457] 47 88 51 505 159 77 61 7
[465] 11 49 15 1 17 15 358 20
[473] 50 57 12 218 78 16 39 15
[481] 30 85 77 49 16 8 34 45
[489] 49 15 92 75 10 23 22 55
[497] 16 7 86 3 12 14 24 52
[505] 16 17 50 136 178 50 207 178
[513] 16 49 49 37 21 356 46 49
[521] 49 44 42 47 48 75 115 53
[529] 32 39 3033 3003 34 218 210 1489
[537] 10 201 351 52 156 85 35 55
[545] 16 43 97 34 2346 49 2 40
[553] 332 14 65 20 26 72 55 77
[561] 31 57 58 47 31 96 126 39
[569] 66 87 15 166 66 96 57 150
¿Cuántas cuentas falsas hay?
Si una cuenta es falsa, en la columna fake
tiene el valor 1.
- Mostramos los primeros valores de esa columna
head(insta$fake)
[1] 0 0 0 0 0 0
- Seleccionamos las cuentas falsas:
<- insta$fake == 1 falsas
Esto da un vector donde tenemos valores TRUE
(verdadero) y FALSE
(falso). En el vector falsas
, tendremos un FALSE
por cada cuenta verdadera y un TRUE
si la cuenta es falsa.
Para quedarnos con las filas del dataset donde se dan las cuentas falsas, se hace una selección o filtrado de las filas:
<- insta[falsas, ] # el espacio después de la coma significa que nos quedamos con todas la columnas, pero hemos seleccionado únicamente las filas donde el vector 'falsas' valga TRUE. filas_falsas
Otra forma de seleccionar es con la función which()
:
<- which(insta$fake == 0) # Obtiene los índices de las filas donde 'fake' es 0 (verdaderas)
cuentasF <- which(insta$fake == 1) # Obtiene los índices de las filas donde 'fake' es 1 (falsas)
cuentasV #Otra forma de obtener las cuentas verdaderas
<- which(!insta$fake==0)
cuentasV
<- insta[cuentasF, ] # Crea un nuevo data.frame con las cuentas verdaderas
Fdata_instaF <- insta[cuentasV, ] # Crea un nuevo data.frame con las cuentas falsas Vdata_instaF
Algunos manejos con variables, vectores, etc.
Guarda 20 aleatorios de esa columna en un vector
<- sample(1:nrow(insta), 20) # Genera 20 números aleatorios entre 1 y el número de filas de 'insta'
indices <- insta$fake[indices] # Selecciona los valores de 'fake' correspondientes a los índices aleatorios
v1 # Imprime el vector v1 v1
[1] 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0
Nota: la variable v1 es un vector
class(v1)
[1] "numeric"
Podemos ordenarlo
v1
[1] 0 0 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 1 0
sort(v1) # Ordena los elementos de v1 de forma ascendente
[1] 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
Eliminamos valores repetidos:
unique(v1) # Devuelve un vector con los valores únicos de v1
[1] 0 1
Calculamos cuántos elementos hay en el vector original y cuántos únicos:
length(v1) # Longitud del vector original
[1] 20
length(unique(v1)) # Longitud del vector sin repetidos
[1] 2
Ejercicio: Tomar los valores de la columna fullname words
y lo guardamos en una variable (no repetidos) - mostramos los primeros valores.
<- unique(insta$`fullname words`) # Obtiene los valores únicos de la columna 'fullname words'
palabras head(palabras) # Muestra los primeros valores
[1] 0 2 1 4 3 6
¿Hay valores NA (desconocidos) en el dataset? Es una pregunta que siempre nos deberíamos hacer
sum(is.na(insta)) # Suma el número total de NA en el data.frame
[1] 0
Cuidado: al hacer operaciones con variables conteniendo NA
Vectores
- Para construir un vector, se usa el operador c (que es la abreviatura de la palabra inglesa “combine”, combinar.).
<- c(1, 0, 1, NA, 1, 0) # Crea un vector numérico
mi_profile # Imprime el vector mi_profile
[1] 1 0 1 NA 1 0
Podemos usar las funciones class()
, str()
para obtener alguna información extra sobre las variables:
class(mi_profile) # Muestra la clase del vector
[1] "numeric"
str(mi_profile) # Muestra la estructura del vector (tipo de datos y valores)
num [1:6] 1 0 1 NA 1 0
Ya hemos visto head()
, para mostrar los primeros elementos de una tabla (o de un vector), ahora vemos length()
, que nos da la longitud de un vector, el número de elementos del mismo.
head(mi_profile) # Muestra los primeros elementos
[1] 1 0 1 NA 1 0
length(mi_profile) # Muestra la longitud del vector
[1] 6
Hay otras formas de construir vectores, especialmente si están sus elementos siguiendo una secuencia:
<- 1:10 # Secuencia del 1 al 10
longitud_profile longitud_profile
[1] 1 2 3 4 5 6 7 8 9 10
<- rep(1, 10) # Repite el valor 1 diez veces
longitud_profile longitud_profile
[1] 1 1 1 1 1 1 1 1 1 1
<- seq(from = 1, to = 10, by = 2) # Secuencia del 1 al 10 con incrementos de 2
longitud_profile longitud_profile
[1] 1 3 5 7 9
Veamos ahora algunas operaciones con vectores.
<- insta$`description length` # Asigna la columna 'description length' a 'v'
v v
[1] 53 44 0 82 0 81 50 0 71 40 54 54 0 103 98 46 0 48
[19] 63 106 40 35 30 27 0 109 0 132 126 122 138 0 50 35 56 9
[37] 0 81 134 0 2 0 23 138 35 93 4 1 4 23 91 57 108 30
[55] 82 12 54 0 12 0 3 39 0 68 129 57 64 42 71 0 70 74
[73] 8 35 0 0 28 18 28 36 2 11 70 29 24 21 81 34 40 12
[91] 0 59 15 54 16 73 24 0 26 0 0 0 0 28 55 140 122 113
[109] 38 0 23 0 89 30 0 0 0 12 123 0 0 0 40 0 33 0
[127] 5 0 23 35 150 26 149 129 0 18 74 0 59 148 0 15 46 5
[145] 98 55 19 71 133 150 43 37 35 87 59 0 0 9 12 0 0 95
[163] 0 46 123 117 26 0 58 0 30 62 137 149 14 19 131 0 5 0
[181] 11 0 27 10 72 3 51 44 0 73 70 35 13 105 91 0 48 48
[199] 126 0 53 8 67 20 26 86 51 26 18 96 17 0 62 86 148 1
[217] 39 35 103 0 61 44 0 0 0 112 123 24 34 19 0 42 50 67
[235] 134 101 0 0 17 0 32 0 80 2 0 146 0 0 0 0 6 0
[253] 0 0 64 0 0 0 49 23 120 34 25 0 12 0 9 1 18 34
[271] 23 19 139 13 50 46 30 26 0 0 0 27 37 31 20 7 0 0
[289] 0 0 0 0 24 0 43 0 0 0 0 0 0 0 0 0 0 0
[307] 0 0 0 0 0 0 0 0 0 0 0 0 43 0 0 0 13 0
[325] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[343] 9 0 0 0 0 18 0 10 61 0 0 0 0 0 0 0 0 0
[361] 22 0 0 0 2 0 146 0 6 50 0 0 0 39 0 0 0 0
[379] 0 5 91 2 0 0 0 0 37 0 0 0 0 0 0 0 0 0
[397] 0 0 148 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[415] 149 0 0 0 0 0 22 0 0 0 0 0 2 0 0 0 0 0
[433] 0 20 0 0 0 0 0 0 0 0 148 0 50 0 2 0 0 0
[451] 0 0 0 0 34 0 0 0 0 0 0 0 32 0 0 0 0 0
[469] 0 0 59 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0
[487] 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
[505] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[523] 0 0 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0
[541] 0 0 0 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0
[559] 0 33 0 0 0 0 43 0 19 0 5 0 28 0 21 0 11 0
min(v) # Valor mínimo
[1] 0
max(v) # Valor máximo
[1] 150
mean(v) # Media
[1] 22.62326
sum(v) # Suma
[1] 13031
<- v - mean(v) # Resta la media a cada elemento de v
l1 exp(l1) # Exponencial de cada elemento de l1
[1] 1.557575e+13 1.922200e+09 1.495689e-10 6.123347e+25 1.495689e-10
[6] 2.252653e+25 7.754708e+11 1.495689e-10 1.022703e+21 3.520632e+07
[11] 4.233927e+13 4.233927e+13 1.495689e-10 8.075566e+34 5.441274e+32
[16] 1.420324e+10 1.495689e-10 1.049486e+11 3.430786e+17 1.622021e+36
[21] 3.520632e+07 2.372183e+05 1.598364e+03 7.957788e+01 1.495689e-10
[26] 3.257916e+37 1.495689e-10 3.174775e+47 7.869480e+44 1.441346e+43
[31] 1.280796e+50 1.495689e-10 7.754708e+11 2.372183e+05 3.128472e+14
[36] 1.211969e-06 1.495689e-10 2.252653e+25 2.345859e+48 1.495689e-10
[41] 1.105173e-09 1.495689e-10 1.457520e+00 1.280796e+50 2.372183e+05
[46] 3.666301e+30 8.166186e-09 4.065705e-10 8.166186e-09 1.457520e+00
[51] 4.961799e+29 8.504069e+14 1.198520e+37 1.598364e+03 6.123347e+25
[56] 2.434306e-05 4.233927e+13 1.495689e-10 2.434306e-05 1.495689e-10
[61] 3.004172e-09 1.295168e+07 1.495689e-10 5.091739e+19 1.580627e+46
[66] 8.504069e+14 9.325845e+17 2.601415e+08 1.022703e+21 1.495689e-10
[71] 3.762314e+20 2.054154e+22 4.458586e-07 2.372183e+05 1.495689e-10
[76] 1.495689e-10 2.163151e+02 9.820690e-03 2.163151e+02 6.448262e+05
[81] 1.105173e-09 8.955310e-06 3.762314e+20 5.880054e+02 3.961949e+00
[86] 1.972538e-01 2.252653e+25 8.726774e+04 3.520632e+07 2.434306e-05
[91] 1.495689e-10 6.283705e+15 4.889434e-04 4.233927e+13 1.329086e-03
[96] 7.556810e+21 3.961949e+00 1.495689e-10 2.927506e+01 1.495689e-10
[101] 1.495689e-10 1.495689e-10 1.495689e-10 2.163151e+02 1.150901e+14
[106] 9.463871e+50 1.441346e+43 1.778762e+39 4.764657e+06 1.495689e-10
[111] 1.457520e+00 1.495689e-10 6.715065e+28 1.598364e+03 1.495689e-10
[116] 1.495689e-10 1.495689e-10 2.434306e-05 3.917984e+43 1.495689e-10
[121] 1.495689e-10 1.495689e-10 3.520632e+07 1.495689e-10 3.210401e+04
[126] 1.495689e-10 2.219799e-08 1.495689e-10 1.457520e+00 2.372183e+05
[131] 2.084556e+55 2.927506e+01 7.668654e+54 1.580627e+46 1.495689e-10
[136] 9.820690e-03 2.054154e+22 1.495689e-10 6.283705e+15 2.821140e+54
[141] 1.495689e-10 4.889434e-04 1.420324e+10 2.219799e-08 5.441274e+32
[146] 1.150901e+14 2.669540e-02 1.022703e+21 8.629933e+47 2.084556e+55
[151] 7.071378e+08 1.752819e+06 2.372183e+05 9.087852e+27 6.283705e+15
[156] 1.495689e-10 1.495689e-10 1.211969e-06 2.434306e-05 1.495689e-10
[161] 1.495689e-10 2.709051e+31 1.495689e-10 1.420324e+10 3.917984e+43
[166] 9.711710e+40 2.927506e+01 1.495689e-10 2.311646e+15 1.495689e-10
[171] 1.598364e+03 1.262116e+17 4.711784e+49 7.668654e+54 1.798722e-04
[176] 2.669540e-02 1.167934e+47 1.495689e-10 2.219799e-08 1.495689e-10
[181] 8.955310e-06 1.495689e-10 7.957788e+01 3.294474e-06 2.779995e+21
[186] 3.004172e-09 2.107948e+12 1.922200e+09 1.495689e-10 7.556810e+21
[191] 3.762314e+20 2.372183e+05 6.617129e-05 5.967081e+35 4.961799e+29
[196] 1.495689e-10 1.049486e+11 1.049486e+11 7.869480e+44 1.495689e-10
[201] 1.557575e+13 4.458586e-07 1.873146e+19 7.256563e-02 2.927506e+01
[206] 3.343234e+27 2.107948e+12 2.927506e+01 9.820690e-03 7.363963e+31
[211] 3.612830e-03 1.495689e-10 1.262116e+17 3.343234e+27 2.821140e+54
[216] 4.065705e-10 1.295168e+07 2.372183e+05 8.075566e+34 1.495689e-10
[221] 4.643065e+16 1.922200e+09 1.495689e-10 1.495689e-10 1.495689e-10
[226] 6.543699e+38 3.917984e+43 3.961949e+00 8.726774e+04 2.669540e-02
[231] 1.495689e-10 2.601415e+08 7.754708e+11 1.873146e+19 2.345859e+48
[236] 1.092909e+34 1.495689e-10 1.495689e-10 3.612830e-03 1.495689e-10
[241] 1.181040e+04 1.495689e-10 8.287049e+24 1.105173e-09 1.495689e-10
[246] 3.817998e+53 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[251] 6.034041e-08 1.495689e-10 1.495689e-10 1.495689e-10 9.325845e+17
[256] 1.495689e-10 1.495689e-10 1.495689e-10 2.852797e+11 1.457520e+00
[261] 1.950649e+42 8.726774e+04 1.076969e+01 1.495689e-10 2.434306e-05
[266] 1.495689e-10 1.211969e-06 4.065705e-10 9.820690e-03 8.726774e+04
[271] 1.457520e+00 2.669540e-02 3.481563e+50 6.617129e-05 7.754708e+11
[276] 1.420324e+10 1.598364e+03 2.927506e+01 1.495689e-10 1.495689e-10
[281] 1.495689e-10 7.957788e+01 1.752819e+06 4.344805e+03 7.256563e-02
[286] 1.640222e-07 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[291] 1.495689e-10 1.495689e-10 3.961949e+00 1.495689e-10 7.071378e+08
[296] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[301] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[306] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[311] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[316] 1.495689e-10 1.495689e-10 1.495689e-10 7.071378e+08 1.495689e-10
[321] 1.495689e-10 1.495689e-10 6.617129e-05 1.495689e-10 1.495689e-10
[326] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[331] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[336] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[341] 1.495689e-10 1.495689e-10 1.211969e-06 1.495689e-10 1.495689e-10
[346] 1.495689e-10 1.495689e-10 9.820690e-03 1.495689e-10 3.294474e-06
[351] 4.643065e+16 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[356] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[361] 5.361915e-01 1.495689e-10 1.495689e-10 1.495689e-10 1.105173e-09
[366] 1.495689e-10 3.817998e+53 1.495689e-10 6.034041e-08 7.754708e+11
[371] 1.495689e-10 1.495689e-10 1.495689e-10 1.295168e+07 1.495689e-10
[376] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 2.219799e-08
[381] 4.961799e+29 1.105173e-09 1.495689e-10 1.495689e-10 1.495689e-10
[386] 1.495689e-10 1.752819e+06 1.495689e-10 1.495689e-10 1.495689e-10
[391] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[396] 1.495689e-10 1.495689e-10 1.495689e-10 2.821140e+54 1.495689e-10
[401] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[406] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[411] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 7.668654e+54
[416] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[421] 5.361915e-01 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[426] 1.495689e-10 1.105173e-09 1.495689e-10 1.495689e-10 1.495689e-10
[431] 1.495689e-10 1.495689e-10 1.495689e-10 7.256563e-02 1.495689e-10
[436] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[441] 1.495689e-10 1.495689e-10 2.821140e+54 1.495689e-10 7.754708e+11
[446] 1.495689e-10 1.105173e-09 1.495689e-10 1.495689e-10 1.495689e-10
[451] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 8.726774e+04
[456] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[461] 1.495689e-10 1.495689e-10 1.181040e+04 1.495689e-10 1.495689e-10
[466] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[471] 6.283705e+15 1.495689e-10 6.034041e-08 1.495689e-10 1.495689e-10
[476] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[481] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[486] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[491] 1.495689e-10 1.495689e-10 1.495689e-10 4.065705e-10 1.495689e-10
[496] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[501] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[506] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[511] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[516] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[521] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[526] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[531] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[536] 2.669540e-02 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[541] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 7.071378e+08
[546] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[551] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10
[556] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 3.210401e+04
[561] 1.495689e-10 1.495689e-10 1.495689e-10 1.495689e-10 7.071378e+08
[566] 1.495689e-10 2.669540e-02 1.495689e-10 2.219799e-08 1.495689e-10
[571] 2.163151e+02 1.495689e-10 1.972538e-01 1.495689e-10 8.955310e-06
[576] 1.495689e-10
Acceso a vectores
<- insta$`description length` # Asignamos la columna 'description length' del dataframe 'insta' al vector 'v' para los ejemplos.
v
2] # Accede al segundo elemento del vector v. Los índices en R comienzan en 1. v[
[1] 44
c(1, 3)] # Accede a los elementos en las posiciones 1 y 3 del vector v. Se usa un vector numérico para especificar múltiples índices. v[
[1] 53 0
-1] # Accede a todos los elementos del vector v *excepto* el primero. El signo menos (-) delante del índice indica exclusión. v[
[1] 44 0 82 0 81 50 0 71 40 54 54 0 103 98 46 0 48 63
[19] 106 40 35 30 27 0 109 0 132 126 122 138 0 50 35 56 9 0
[37] 81 134 0 2 0 23 138 35 93 4 1 4 23 91 57 108 30 82
[55] 12 54 0 12 0 3 39 0 68 129 57 64 42 71 0 70 74 8
[73] 35 0 0 28 18 28 36 2 11 70 29 24 21 81 34 40 12 0
[91] 59 15 54 16 73 24 0 26 0 0 0 0 28 55 140 122 113 38
[109] 0 23 0 89 30 0 0 0 12 123 0 0 0 40 0 33 0 5
[127] 0 23 35 150 26 149 129 0 18 74 0 59 148 0 15 46 5 98
[145] 55 19 71 133 150 43 37 35 87 59 0 0 9 12 0 0 95 0
[163] 46 123 117 26 0 58 0 30 62 137 149 14 19 131 0 5 0 11
[181] 0 27 10 72 3 51 44 0 73 70 35 13 105 91 0 48 48 126
[199] 0 53 8 67 20 26 86 51 26 18 96 17 0 62 86 148 1 39
[217] 35 103 0 61 44 0 0 0 112 123 24 34 19 0 42 50 67 134
[235] 101 0 0 17 0 32 0 80 2 0 146 0 0 0 0 6 0 0
[253] 0 64 0 0 0 49 23 120 34 25 0 12 0 9 1 18 34 23
[271] 19 139 13 50 46 30 26 0 0 0 27 37 31 20 7 0 0 0
[289] 0 0 0 24 0 43 0 0 0 0 0 0 0 0 0 0 0 0
[307] 0 0 0 0 0 0 0 0 0 0 0 43 0 0 0 13 0 0
[325] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9
[343] 0 0 0 0 18 0 10 61 0 0 0 0 0 0 0 0 0 22
[361] 0 0 0 2 0 146 0 6 50 0 0 0 39 0 0 0 0 0
[379] 5 91 2 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0
[397] 0 148 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 149
[415] 0 0 0 0 0 22 0 0 0 0 0 2 0 0 0 0 0 0
[433] 20 0 0 0 0 0 0 0 0 148 0 50 0 2 0 0 0 0
[451] 0 0 0 34 0 0 0 0 0 0 0 32 0 0 0 0 0 0
[469] 0 59 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[487] 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
[505] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[523] 0 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0
[541] 0 0 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[559] 33 0 0 0 0 43 0 19 0 5 0 28 0 21 0 11 0
-c(1, 2)] # Accede a todos los elementos del vector v *excepto* el primero y el segundo. Se usa un vector numérico con el signo menos para excluir múltiples índices. v[
[1] 0 82 0 81 50 0 71 40 54 54 0 103 98 46 0 48 63 106
[19] 40 35 30 27 0 109 0 132 126 122 138 0 50 35 56 9 0 81
[37] 134 0 2 0 23 138 35 93 4 1 4 23 91 57 108 30 82 12
[55] 54 0 12 0 3 39 0 68 129 57 64 42 71 0 70 74 8 35
[73] 0 0 28 18 28 36 2 11 70 29 24 21 81 34 40 12 0 59
[91] 15 54 16 73 24 0 26 0 0 0 0 28 55 140 122 113 38 0
[109] 23 0 89 30 0 0 0 12 123 0 0 0 40 0 33 0 5 0
[127] 23 35 150 26 149 129 0 18 74 0 59 148 0 15 46 5 98 55
[145] 19 71 133 150 43 37 35 87 59 0 0 9 12 0 0 95 0 46
[163] 123 117 26 0 58 0 30 62 137 149 14 19 131 0 5 0 11 0
[181] 27 10 72 3 51 44 0 73 70 35 13 105 91 0 48 48 126 0
[199] 53 8 67 20 26 86 51 26 18 96 17 0 62 86 148 1 39 35
[217] 103 0 61 44 0 0 0 112 123 24 34 19 0 42 50 67 134 101
[235] 0 0 17 0 32 0 80 2 0 146 0 0 0 0 6 0 0 0
[253] 64 0 0 0 49 23 120 34 25 0 12 0 9 1 18 34 23 19
[271] 139 13 50 46 30 26 0 0 0 27 37 31 20 7 0 0 0 0
[289] 0 0 24 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0
[307] 0 0 0 0 0 0 0 0 0 0 43 0 0 0 13 0 0 0
[325] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0
[343] 0 0 0 18 0 10 61 0 0 0 0 0 0 0 0 0 22 0
[361] 0 0 2 0 146 0 6 50 0 0 0 39 0 0 0 0 0 5
[379] 91 2 0 0 0 0 37 0 0 0 0 0 0 0 0 0 0 0
[397] 148 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 149 0
[415] 0 0 0 0 22 0 0 0 0 0 2 0 0 0 0 0 0 20
[433] 0 0 0 0 0 0 0 0 148 0 50 0 2 0 0 0 0 0
[451] 0 0 34 0 0 0 0 0 0 0 32 0 0 0 0 0 0 0
[469] 59 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[487] 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
[505] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[523] 0 0 0 0 0 0 0 0 0 0 0 19 0 0 0 0 0 0
[541] 0 0 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 33
[559] 0 0 0 0 43 0 19 0 5 0 28 0 21 0 11 0
Reciclaje
+ 1 # El `1` se repite tantas veces como la longitud del vector v para poder hacer la operación elemento a elemento. v
[1] 54 45 1 83 1 82 51 1 72 41 55 55 1 104 99 47 1 49
[19] 64 107 41 36 31 28 1 110 1 133 127 123 139 1 51 36 57 10
[37] 1 82 135 1 3 1 24 139 36 94 5 2 5 24 92 58 109 31
[55] 83 13 55 1 13 1 4 40 1 69 130 58 65 43 72 1 71 75
[73] 9 36 1 1 29 19 29 37 3 12 71 30 25 22 82 35 41 13
[91] 1 60 16 55 17 74 25 1 27 1 1 1 1 29 56 141 123 114
[109] 39 1 24 1 90 31 1 1 1 13 124 1 1 1 41 1 34 1
[127] 6 1 24 36 151 27 150 130 1 19 75 1 60 149 1 16 47 6
[145] 99 56 20 72 134 151 44 38 36 88 60 1 1 10 13 1 1 96
[163] 1 47 124 118 27 1 59 1 31 63 138 150 15 20 132 1 6 1
[181] 12 1 28 11 73 4 52 45 1 74 71 36 14 106 92 1 49 49
[199] 127 1 54 9 68 21 27 87 52 27 19 97 18 1 63 87 149 2
[217] 40 36 104 1 62 45 1 1 1 113 124 25 35 20 1 43 51 68
[235] 135 102 1 1 18 1 33 1 81 3 1 147 1 1 1 1 7 1
[253] 1 1 65 1 1 1 50 24 121 35 26 1 13 1 10 2 19 35
[271] 24 20 140 14 51 47 31 27 1 1 1 28 38 32 21 8 1 1
[289] 1 1 1 1 25 1 44 1 1 1 1 1 1 1 1 1 1 1
[307] 1 1 1 1 1 1 1 1 1 1 1 1 44 1 1 1 14 1
[325] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[343] 10 1 1 1 1 19 1 11 62 1 1 1 1 1 1 1 1 1
[361] 23 1 1 1 3 1 147 1 7 51 1 1 1 40 1 1 1 1
[379] 1 6 92 3 1 1 1 1 38 1 1 1 1 1 1 1 1 1
[397] 1 1 149 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[415] 150 1 1 1 1 1 23 1 1 1 1 1 3 1 1 1 1 1
[433] 1 21 1 1 1 1 1 1 1 1 149 1 51 1 3 1 1 1
[451] 1 1 1 1 35 1 1 1 1 1 1 1 33 1 1 1 1 1
[469] 1 1 60 1 7 1 1 1 1 1 1 1 1 1 1 1 1 1
[487] 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 1 1 1
[505] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[523] 1 1 1 1 1 1 1 1 1 1 1 1 1 20 1 1 1 1
[541] 1 1 1 1 44 1 1 1 1 1 1 1 1 1 1 1 1 1
[559] 1 34 1 1 1 1 44 1 20 1 6 1 29 1 22 1 12 1
+ c(1, 0) # Aquí igual, el vector c(1, 0) se repite cíclicamente para completar el tamaño del vector v. Así, a la primera componente de v se le suma 1, a la segunda, 0; a la tercera, de nuevo 1; a la cuarta, 0; ... v
[1] 54 44 1 82 1 81 51 0 72 40 55 54 1 103 99 46 1 48
[19] 64 106 41 35 31 27 1 109 1 132 127 122 139 0 51 35 57 9
[37] 1 81 135 0 3 0 24 138 36 93 5 1 5 23 92 57 109 30
[55] 83 12 55 0 13 0 4 39 1 68 130 57 65 42 72 0 71 74
[73] 9 35 1 0 29 18 29 36 3 11 71 29 25 21 82 34 41 12
[91] 1 59 16 54 17 73 25 0 27 0 1 0 1 28 56 140 123 113
[109] 39 0 24 0 90 30 1 0 1 12 124 0 1 0 41 0 34 0
[127] 6 0 24 35 151 26 150 129 1 18 75 0 60 148 1 15 47 5
[145] 99 55 20 71 134 150 44 37 36 87 60 0 1 9 13 0 1 95
[163] 1 46 124 117 27 0 59 0 31 62 138 149 15 19 132 0 6 0
[181] 12 0 28 10 73 3 52 44 1 73 71 35 14 105 92 0 49 48
[199] 127 0 54 8 68 20 27 86 52 26 19 96 18 0 63 86 149 1
[217] 40 35 104 0 62 44 1 0 1 112 124 24 35 19 1 42 51 67
[235] 135 101 1 0 18 0 33 0 81 2 1 146 1 0 1 0 7 0
[253] 1 0 65 0 1 0 50 23 121 34 26 0 13 0 10 1 19 34
[271] 24 19 140 13 51 46 31 26 1 0 1 27 38 31 21 7 1 0
[289] 1 0 1 0 25 0 44 0 1 0 1 0 1 0 1 0 1 0
[307] 1 0 1 0 1 0 1 0 1 0 1 0 44 0 1 0 14 0
[325] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
[343] 10 0 1 0 1 18 1 10 62 0 1 0 1 0 1 0 1 0
[361] 23 0 1 0 3 0 147 0 7 50 1 0 1 39 1 0 1 0
[379] 1 5 92 2 1 0 1 0 38 0 1 0 1 0 1 0 1 0
[397] 1 0 149 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
[415] 150 0 1 0 1 0 23 0 1 0 1 0 3 0 1 0 1 0
[433] 1 20 1 0 1 0 1 0 1 0 149 0 51 0 3 0 1 0
[451] 1 0 1 0 35 0 1 0 1 0 1 0 33 0 1 0 1 0
[469] 1 0 60 0 7 0 1 0 1 0 1 0 1 0 1 0 1 0
[487] 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0
[505] 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
[523] 1 0 1 0 1 0 1 0 1 0 1 0 1 19 1 0 1 0
[541] 1 0 1 0 44 0 1 0 1 0 1 0 1 0 1 0 1 0
[559] 1 33 1 0 1 0 44 0 20 0 6 0 29 0 22 0 12 0
¿Qué hace el siguiente comando?
c(TRUE,FALSE)] v[
[1] 53 0 0 50 71 54 0 98 0 63 40 30 0 0 126 138 50 56
[19] 0 134 2 23 35 4 4 91 108 82 54 12 3 0 129 64 71 70
[37] 8 0 28 28 2 70 24 81 40 0 15 16 24 26 0 0 55 122
[55] 38 23 89 0 0 123 0 40 33 5 23 150 149 0 74 59 0 46
[73] 98 19 133 43 35 59 0 12 0 0 123 26 58 30 137 14 131 5
[91] 11 27 72 51 0 70 13 91 48 126 53 67 26 51 18 17 62 148
[109] 39 103 61 0 0 123 34 0 50 134 0 17 32 80 0 0 0 6
[127] 0 64 0 49 120 25 12 9 18 23 139 50 30 0 0 37 20 0
[145] 0 0 24 43 0 0 0 0 0 0 0 0 0 0 0 43 0 13
[163] 0 0 0 0 0 0 0 0 0 9 0 0 0 61 0 0 0 0
[181] 22 0 2 146 6 0 0 0 0 0 91 0 0 37 0 0 0 0
[199] 0 148 0 0 0 0 0 0 0 149 0 0 22 0 0 2 0 0
[217] 0 0 0 0 0 148 50 2 0 0 0 34 0 0 0 32 0 0
[235] 0 59 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[253] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
[271] 0 0 43 0 0 0 0 0 0 0 0 0 43 19 5 28 21 11
Funciones
Veamos con un ejemplo como se definen funciones:
<- function(x){
valores_distintos <- unique(x)
x1 <- length(x1)
l1 return(l1)
}
valores_distintos(insta$`profile pic`)
[1] 2
y de cómo usar funciones vectoriales:
sapply(insta, function(x) sum(is.na(x)))
profile pic nums/length username fullname words
0 0 0
nums/length fullname name==username description length
0 0 0
external URL private #posts
0 0 0
#followers #follows fake
0 0 0
<- sapply(insta, valores_distintos)
valores_unicos valores_unicos
profile pic nums/length username fullname words
2 54 9
nums/length fullname name==username description length
25 2 104
external URL private #posts
2 2 193
#followers #follows fake
372 400 2
<- sapply(insta, function(x) length(unique(x)))
valores_unicos
valores_unicos
profile pic nums/length username fullname words
2 54 9
nums/length fullname name==username description length
25 2 104
external URL private #posts
2 2 193
#followers #follows fake
372 400 2
Relaciones entre variables
A modo de curiosidad, para ver la potencia de R, veamos:
- Algún gráfico:
#install.packages('psych') # Si no se ha instalado antes esta librería, hay que ejecutar esto
library(psych) # Carga el paquete psych, que proporciona la función pairs.panels
Warning: package 'psych' was built under R version 4.3.3
Attaching package: 'psych'
The following objects are masked from 'package:ggplot2':
%+%, alpha
pairs.panels(insta, main = "Pares de variables") # Crea un panel de gráficos de dispersión para todas las combinaciones de variables en 'insta'. 'main' añade un título al gráfico.
<- cor(insta) # Calcula la matriz de correlación entre las variables numéricas en 'insta'.
cor_matrix # Imprime la matriz de correlación. cor_matrix
profile pic nums/length username fullname words
profile pic 1.00000000 -0.36408701 0.21329514
nums/length username -0.36408701 1.00000000 -0.22547213
fullname words 0.21329514 -0.22547213 1.00000000
nums/length fullname -0.13175622 0.40856654 -0.09434799
name==username -0.12490287 0.05688965 -0.08296878
description length 0.36789194 -0.32117027 0.27252216
external URL 0.23672932 -0.23712479 0.19656239
private 0.11473196 -0.06371257 -0.08907008
#posts 0.16957023 -0.15744211 0.07335018
#followers 0.06113663 -0.06278509 0.03322460
#follows 0.19483278 -0.17241327 0.09485496
fake -0.63731535 0.58768653 -0.29879258
nums/length fullname name==username description length
profile pic -0.13175622 -0.124902870 0.367891938
nums/length username 0.40856654 0.056889649 -0.321170271
fullname words -0.09434799 -0.082968780 0.272522165
nums/length fullname 1.00000000 0.291149086 -0.117521050
name==username 0.29114909 1.000000000 -0.064813853
description length -0.11752105 -0.064813853 1.000000000
external URL -0.08872418 -0.039232382 0.482313071
private -0.03003033 0.046084001 -0.110328832
#posts -0.05771550 -0.049808246 0.144823702
#followers -0.02703471 -0.017760756 0.005929455
#follows -0.06797109 -0.009529101 0.226561422
fake 0.24678210 0.170694729 -0.460824593
external URL private #posts #followers
profile pic 0.23672932 0.11473196 0.16957023 0.061136635
nums/length username -0.23712479 -0.06371257 -0.15744211 -0.062785090
fullname words 0.19656239 -0.08907008 0.07335018 0.033224604
nums/length fullname -0.08872418 -0.03003033 -0.05771550 -0.027034712
name==username -0.03923238 0.04608400 -0.04980825 -0.017760756
description length 0.48231307 -0.11032883 0.14482370 0.005929455
external URL 1.00000000 -0.16261231 0.16500846 0.027188730
private -0.16261231 1.00000000 -0.08749503 -0.073472710
#posts 0.16500846 -0.08749503 1.00000000 0.321385480
#followers 0.02718873 -0.07347271 0.32138548 1.000000000
#follows 0.14251936 -0.05754247 0.09822504 -0.011065994
fake -0.36280938 -0.02858602 -0.24535515 -0.093688783
#follows fake
profile pic 0.194832776 -0.63731535
nums/length username -0.172413275 0.58768653
fullname words 0.094854964 -0.29879258
nums/length fullname -0.067971092 0.24678210
name==username -0.009529101 0.17069473
description length 0.226561422 -0.46082459
external URL 0.142519361 -0.36280938
private -0.057542468 -0.02858602
#posts 0.098225040 -0.24535515
#followers -0.011065994 -0.09368878
#follows 1.000000000 -0.22483522
fake -0.224835224 1.00000000
table(insta$fake) # Recuento de los valores
0 1
288 288
- Correlaciones significativas entre
profile.pic
yfake
, ladescription.length
yexternal.URL
<- 0.4
threshold
<- data.frame(as.table(cor_matrix)) %>%
cor_table rename(Correlation = Freq)
<- colnames(insta)
variables
<- length(insta)
n_variables
<- n_variables / 2
medium_point
%>%
cor_table filter(as.character(Var1) > as.character(Var2) & abs(Correlation) > threshold) %>%
arrange(desc(abs(Correlation)))
Var1 Var2 Correlation
1 profile pic fake -0.6373153
2 nums/length username fake 0.5876865
3 external URL description length 0.4823131
4 fake description length -0.4608246
5 nums/length username nums/length fullname 0.4085665