ESTADISTICA

ESAP

Edwin Prieto

Invalid Date

R y SQL

R puede usarse conjuntamente con herramientas como SQL,excel o Sheets de Google.En esta sesion trabajaremos con SQL,para lo cual conoceremos en primer lugar algunas formas de acceder a informacion en R y en segundo lugar la sintaxis de SQL para la realizacion de consultas.

#librerias necesarias
library(sqldf)
library(RSQLite)
library(readxl)
#datos para trabajar
Libro_37 <- read_excel("excel/Libro 37.xlsx", 
    sheet = "Hoja3")
Libro_37
# A tibble: 491 × 5
   ESTUDIANTE  SEXO  EDAD ESTATURA LOCALIDAD    
        <dbl> <dbl> <dbl>    <dbl> <chr>        
 1          1     1    19      186 SUBA         
 2          2     1    18      177 ENGATIVA     
 3          3     0    24      153 SAN CRISTOBAL
 4          4     1    18      166 SAN CRISTOBAL
 5          5     1    20      167 KENNEDY      
 6          6     1    19      165 ENGATIVA     
 7          7     0    20      167 ENGATIVA     
 8          8     1    17      163 ENGATIVA     
 9          9     0    19      154 KENNEDY      
10         10     1    18      170 CHAPINERO    
# ℹ 481 more rows

PRIMEROS PASOS

Con el paquete sqldf podremos realizar consultas de tipo select pero NO podremos modificar nuestros datos.

library(DT)
datatable(Libro_37)
#se debe insertar esta linea para que todo 
#funcione ok
con <- dbConnect(RSQLite::SQLite(), ":memory:")

SELECT,WHERE,LIKE,AVG,MAX,ORDER…

Hagamos algunas preguntas sobre el conjunto de datos que tenemos Libro_37:

  • ¿Cuantos estudiantes son mujeres?
  • ¿Cual es la edad media de las mujeres?
  • ¿Es el mas alto del grupo hombre o mujer?
  • ¿Cual es el promedio del grupo y como se relaciona con los promedios por sexo?

Respuesta con R

Una forma posible de acceder a columnas en R es usando el signo $,con la siguiente sintaxis datos$columna

#SEXO
Libro_37$SEXO
  [1] 1 1 0 1 1 1 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1
 [38] 0 1 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 1 1
 [75] 0 1 1 0 1 1 0 1 0 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0 1 0 0 0 0 1 1
[112] 0 0 1 0 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1
[149] 0 1 0 1 1 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1
[186] 1 0 0 1 1 1 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 0 0 1 1
[223] 0 1 1 1 1 0 1 0 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 0 1 1 1 1 0 1 1 1 0 0 0 0 1
[260] 0 1 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 0 1 0 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0
[297] 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0
[334] 1 1 0 1 1 1 1 0 0 0 1 1 1 1 1 1 0 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 0 1 1 0 1
[371] 1 1 1 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1
[408] 0 1 0 0 0 0 0 1 0 1 0 0 0 0 1 1 1 1 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 1 1 1
[445] 1 1 0 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0
[482] 0 0 0 1 1 0 0 0 1 1
#EDAD
Libro_37$EDAD
  [1] 19 18 24 18 20 19 20 17 19 18 17 20 18 19 21 29 20 20 38 18 17 18 20 20 19
 [26] 20 20 19 18 21 23 20 38 18 18 18 29 21 17 19 20 25 19 17 19 18 19 18 20 17
 [51] 19 19 22 19 18 18 21 19 18 18 17 31 21 18 19 18 25 23 17 18 20 20 18 22 19
 [76] 21 19 21 21 18 21 19 19 19 19 19 19 18 19 21 19 19 18 19 20 18 20 21 20 19
[101] 17 17 18 18 18 18 23 18 19 18 19 17 18 18 18 17 20 18 18 18 18 19 18 18 23
[126] 20 19 19 19 16 17 23 19 18 18 17 18 18 19 20 18 18 18 21 18 18 19 18 43 18
[151] 22 21 18 17 17 26 20 20 22 19 18 18 23 20 19 20 19 19 16 29 20 19 19 19 19
[176] 17 19 19 35 21 17 20 21 18 19 19 19 17 23 19 20 31 20 19 18 17 18 21 19 19
[201] 29 21 20 22 20 18 19 18 18 18 28 25 21 21 22 18 19 20 21 21 19 17 18 18 18
[226] 19 20 19 18 18 27 19 21 20 18 18 24 20 19 18 20 19 17 18 18 17 19 18 20 21
[251] 23 19 18 21 24 26 19 18 18 19 18 18 20 19 23 19 19 26 19 21 18 19 18 20 18
[276] 19 18 18 17 18 18 18 22 19 22 19 18 18 20 20 19 18 17 18 17 22 16 21 22 17
[301] 19 19 20 18 28 19 22 20 16 18 19 19 19 22 19 20 19 16 19 23 17 29 19 21 20
[326] 17 18 23 17 19 18 20 18 17 17 18 17 18 17 20 19 18 19 26 17 18 17 18 17 18
[351] 18 19 19 18 18 19 18 18 17 21 19 19 21 20 21 18 19 19 18 18 19 21 20 21 18
[376] 19 19 19 17 18 19 18 18 18 23 24 17 20 18 21 20 26 23 19 18 19 17 19 19 22
[401] 18 21 17 20 20 19 19 19 17 19 18 23 21 20 22 19 18 19 17 20 19 18 22 20 39
[426] 18 19 20 20 20 18 23 19 18 20 20 20 19 22 17 20 18 20 18 16 17 17 18 19 17
[451] 17 19 18 19 16 18 20 17 20 19 18 19 17 17 17 17 19 19 23 17 18 18 18 17 18
[476] 17 17 18 19 19 21 19 22 20 20 17 20 22 18 20 19
#ESTATURA
Libro_37$ESTATURA
  [1] 186 177 153 166 167 165 167 163 154 170 166 160 160 170 168 173 178 169
 [19] 170 164 168 173 160 156 155 169 170 162 164 170 156 175 168 187 170 168
 [37] 180 163 175 155 160 165 165 174 176 185 185 152 175 161 172 155 185 168
 [55] 169 156 165 172 176 160 173 156 178 162 172 165 170 175 183 150 187 172
 [73] 178 166 175 174 168 156 162 175 158 168 158 152 174 163 162 180 161 158
 [91] 179 156 154 150 174 166 173 180 188 170 158 158 155 166 180 160 170 170
[109] 168 187 167 167 162 171 155 178 170 170 169 155 155 165 160 161 176 184
[127] 168 167 169 170 176 170 170 160 177 156 160 156 181 183 175 172 170 180
[145] 174 168 179 175 165 181 156 165 185 162 178 162 180 180 172 170 160 182
[163] 164 162 160 179 160 178 159 188 180 173 157 160 182 163 178 170 178 190
[181] 167 165 173 167 170 170 166 165 163 170 175 172 156 170 155 169 167 154
[199] 170 174 164 170 160 160 169 169 170 168 163 180 184 169 160 175 171 163
[217] 155 176 160 161 187 164 163 171 170 178 179 157 172 150 173 155 176 176
[235] 173 180 160 174 156 170 177 177 176 167 195 157 175 174 171 172 156 168
[253] 175 171 160 165 160 155 184 156 167 160 149 165 184 163 180 171 180 159
[271] 188 179 174 170 175 180 177 162 160 183 150 157 170 157 180 163 160 170
[289] 155 166 163 175 175 179 170 165 173 156 170 164 170 179 173 180 171 170
[307] 165 160 170 168 167 165 169 172 181 166 163 157 157 178 164 163 174 166
[325] 160 167 167 156 176 154 163 162 157 170 179 172 180 173 175 173 170 166
[343] 163 180 185 174 160 179 181 163 179 160 190 165 162 158 178 165 157 172
[361] 162 176 170 169 175 160 170 173 163 169 170 183 172 173 158 182 170 172
[379] 170 165 168 170 165 162 176 182 165 159 170 163 176 157 173 165 157 178
[397] 176 169 165 158 165 186 165 162 170 180 173 148 175 152 160 160 155 165
[415] 172 168 174 163 154 158 162 164 175 178 171 185 178 150 150 170 159 172
[433] 163 154 163 175 173 172 185 158 159 170 170 169 175 178 160 175 180 162
[451] 163 163 179 173 165 162 176 165 152 172 171 154 163 175 163 173 170 185
[469] 170 174 169 167 162 178 164 176 165 170 168 176 163 160 165 151 180 178
[487] 151 158 160 168 173

Respuesta con R

Usaremos subset pata filtrar informacion:

  • Estudiantes con SEXO=0 y estatura superior(estricta) a 150
  • Estudiantes hombres y mujeres menores estrictos de 20
  • Estudiantes en el ultimo decil de estatura en total y desagregado por sexo
  • Estudiantes que viven en localidades que empiezan por vocal
  • Estudiantes que viven en Puente Aranda o en Los Martires
  • Estudiantes bajitos 1 entre 16 y 24 años

Respuesta con R

#Estudiantes con sexo=0 y 
#estatura superior a 150(estricta)
subset(Libro_37,SEXO==0&ESTATURA>150)
# A tibble: 194 × 5
   ESTUDIANTE  SEXO  EDAD ESTATURA LOCALIDAD    
        <dbl> <dbl> <dbl>    <dbl> <chr>        
 1          3     0    24      153 SAN CRISTOBAL
 2          7     0    20      167 ENGATIVA     
 3          9     0    19      154 KENNEDY      
 4         11     0    17      166 ENGATIVA     
 5         12     0    20      160 USAQUEN      
 6         13     0    18      160 ENGATIVA     
 7         15     0    21      168 ENGATIVA     
 8         18     0    20      169 KENNEDY      
 9         20     0    18      164 KENNEDY      
10         21     0    17      168 PUENTE ARANDA
# ℹ 184 more rows
#estudiantes <20(estrictos)
subset(Libro_37,EDAD<20)
# A tibble: 325 × 5
   ESTUDIANTE  SEXO  EDAD ESTATURA LOCALIDAD    
        <dbl> <dbl> <dbl>    <dbl> <chr>        
 1          1     1    19      186 SUBA         
 2          2     1    18      177 ENGATIVA     
 3          4     1    18      166 SAN CRISTOBAL
 4          6     1    19      165 ENGATIVA     
 5          8     1    17      163 ENGATIVA     
 6          9     0    19      154 KENNEDY      
 7         10     1    18      170 CHAPINERO    
 8         11     0    17      166 ENGATIVA     
 9         13     0    18      160 ENGATIVA     
10         14     1    19      170 SUBA         
# ℹ 315 more rows
#estudiantes en el ultimo decil de estatura
#el ultimo decil corresponde al p90
q=quantile(Libro_37$ESTATURA,0.9)
q
90% 
180 
subset(Libro_37,ESTATURA>q)
# A tibble: 36 × 5
   ESTUDIANTE  SEXO  EDAD ESTATURA LOCALIDAD     
        <dbl> <dbl> <dbl>    <dbl> <chr>         
 1          1     1    19      186 SUBA          
 2         34     1    18      187 BARRIOS UNIDOS
 3         46     1    18      185 TEUSAQUILLO   
 4         47     1    19      185 ENGATIVA      
 5         53     1    22      185 ENGATIVA      
 6         69     1    17      183 ENGATIVA      
 7         71     1    20      187 USAQUEN       
 8         99     1    20      188 SANTA FE      
 9        110     1    18      187 FONTIBON      
10        126     1    20      184 BARRIOS UNIDOS
# ℹ 26 more rows
#Estudiantes bajitos
s=sd(Libro_37$ESTATURA);m=mean(Libro_37$ESTATURA)
k1=m-3*s
k1
[1] 142.062
subset(Libro_37,ESTATURA<k1|ESTATURA==k1)
# A tibble: 0 × 5
# ℹ 5 variables: ESTUDIANTE <dbl>, SEXO <dbl>, EDAD <dbl>, ESTATURA <dbl>,
#   LOCALIDAD <chr>
#Si fueran 2 desviaciones 
k2=m-2*s
k2
[1] 150.8438
subset(Libro_37,ESTATURA<k2|ESTATURA==k2)
# A tibble: 8 × 5
  ESTUDIANTE  SEXO  EDAD ESTATURA LOCALIDAD     
       <dbl> <dbl> <dbl>    <dbl> <chr>         
1         70     0    18      150 FONTIBON      
2         94     0    19      150 TEUSAQUILLO   
3        230     0    18      150 KENNEDY       
4        263     0    20      149 SUBA          
5        281     0    18      150 SUBA          
6        408     0    19      148 KENNEDY       
7        428     0    20      150 ZIPAQUIRA     
8        429     0    20      150 BARRIOS UNIDOS
#Si fuera 1 desviacion
k3=m-s
k3
[1] 159.6256
subset(Libro_37,ESTATURA<k3|ESTATURA==k3)
# A tibble: 77 × 5
   ESTUDIANTE  SEXO  EDAD ESTATURA LOCALIDAD    
        <dbl> <dbl> <dbl>    <dbl> <chr>        
 1          3     0    24      153 SAN CRISTOBAL
 2          9     0    19      154 KENNEDY      
 3         24     0    20      156 SANTA FE     
 4         25     0    19      155 ENGATIVA     
 5         31     0    23      156 TEUSAQUILLO  
 6         40     0    19      155 ENGATIVA     
 7         48     0    18      152 ENGATIVA     
 8         52     0    19      155 CHAPINERO    
 9         56     0    18      156 TEUSAQUILLO  
10         62     0    31      156 PUENTE ARANDA
# ℹ 67 more rows

Solucion con SQL

En SQL tenemos expresiones que nos permiten extraer informacion de bases de datos,algunas de ellas son:

  • SELECT:
  • LIKE:
  • WHERE:
  • ORDER BY:
  • GROUP BY :
  • AVG,MAX,MIN,DISTINCT,LIMIT:

Slide Title

  • Green 1
  • Brown
  • Purple

codigo

5+4
6+3

pan

Content for Tab A

Content for Tab B

Slide Title

Slide Title

pedr

JuveYell

videos

pruba

Surus

Hanno

Abdul Abbas

Lin Wang

otra

Surus

Hanno

Lin Wang

en

https://quarto.org/docs/authoring/figures.html

plot(cars)
plot(pressure)
plot(1,1)

Speed and Stopping Distances of Cars

Vapor Pressure of Mercury as a Function of Temperature

plot s

prueba