Ejercicio 1. Explorando el entorno

Abrir los programas R y RStudio y explorar áreas de trabajo de RStudio y menús.

Ejercicio 2. Calculadora y primeros comandos

RStudio como calculadora.

# En R podemos incluir comentarios mendiante el signo #
134 + 35 # suma
## [1] 169
45 - 34 # resta
## [1] 11
200 * 4.5 # multiplicación
## [1] 900
50 / 3.6 # división
## [1] 13.88889
3 ** 2 # potencia
## [1] 9

Primeros comandos en R en el entorno de trabajo de RStudio.

getwd()
## [1] "/Users/mmayer/Documents/Mayer/Curso_R_Web"
dir()
##  [1] "CursoR_coib.docx"         "CursoR_coib.html"        
##  [3] "CursoR_coib.pdf"          "CursoR_coib.Rmd"         
##  [5] "CursoR_files"             "CursoR.html"             
##  [7] "Directorio.png"           "EjerciciosR.html"        
##  [9] "EjerciciosR.pdf"          "EjerciciosR.Rmd"         
## [11] "Introduccion_R_2018.docx" "Introduccion_R.docx"     
## [13] "pacientes.txt"            "rsconnect"               
## [15] "RStudio.jpg"              "RStudio.png"             
## [17] "RStudio2.png"             "variables.png"
ls() 
## character(0)

Ejercicio 3. Creación y manejo de variables.

Creamos dos variables (peso y altura) para el cálculo y creación de otra variable IMC (variable calculada)

peso <- 56 # peso en kilos
peso # vemos su contenido
## [1] 56
altura <- 1.61 # altura en metros
altura
## [1] 1.61
IMC <- peso / (altura**2) # cálculo IMC
IMC # vemos el valor de IMC
## [1] 21.6041

Creación de las variables “genero” y “edad” y del conjunto de datos “mispacientes”

# crear la variable genero
genero <- c("h", "m", "m", "h","m","h","m", "h", "m", "m")
# creamos la variable edad
edad <- c(23,45,34,39,60,52,44,59,32,40)

mispacientes <- data.frame(genero, edad)
# ordenar todos los datos por la variable edad
mispacientes[order(mispacientes$edad),]
##    genero edad
## 1       h   23
## 9       m   32
## 3       m   34
## 4       h   39
## 10      m   40
## 7       m   44
## 2       m   45
## 6       h   52
## 8       h   59
## 5       m   60

Ejercicio 4.

Crear dos nuevas variables e incorporarlas en el data.frame mispacientes. Las nuevas variables deben ser glucemia basal con los siguientes valores: 123,230,180,164,210,220,193,202,152,185 y tratamiento con antidiabéticos orales: no, si, no, no, si, no, si, si, no, no.

Ejercicio 5. Descripción de datos cuantitativos

En este ejercicio aplicamos diversas funciones de estadística descriptiva para el conjunto de datos de la variable “edad”

max(edad) # nos muestra el valor máximo de edad
## [1] 60
min(edad) # nos muestra el valor mínimo de edad
## [1] 23
mean(edad) # nos muestra la media
## [1] 42.8
sd(edad) # nos indica la desviación estándar
## [1] 11.82089
round(sd(edad),2) # redondea la desviación estándar a 2 decimales
## [1] 11.82
quantile(edad) # nos muestra los cuantiles
##    0%   25%   50%   75%  100% 
## 23.00 35.25 42.00 50.25 60.00

Ejercicio 5. Representar gráficamente las variables “edad” y “genero”.

Ejercicio 6. Variable edad en intervalos

Transformación de la variable colesterol en determinados intervalos.

mispacientes$colesterol <- c(230,241,190,150,201,278,262,190,220,184 )
mispacientes$colesterolrango[mispacientes$colesterol <= 200] <- '<=200'
mispacientes$colesterolrango[mispacientes$colesterol > 200 & mispacientes$colesterol <= 260] <- '201-260'
mispacientes$colesterolrango[mispacientes$colesterol >260] <- '>260'

Ejercicio 7. Importar el fichero pacientes.txt disponible en:

Dirigirse a la web siguiente, copiando la URL (copiar y pegar) en el navegador:

https://bit.ly/2FBNeAs

Descargar el archivo en el ordenador, preferiblemente en el directorio de trabajo y guardarlo.

Posteriormente se importa a RStudio.

Ejercicio 8. Selección de diversos elementos de un conjunto de datos

names(mispacientes) # mostramos las variables de mispacientes
## [1] "genero"          "edad"            "colesterol"      "colesterolrango"
names(mispacientes)[3] # mostramos la tercera variable "colesterol"
## [1] "colesterol"
head(mispacientes) # muestra los 6 primeros casos
##   genero edad colesterol colesterolrango
## 1      h   23        230         201-260
## 2      m   45        241         201-260
## 3      m   34        190           <=200
## 4      h   39        150           <=200
## 5      m   60        201         201-260
## 6      h   52        278            >260
tail(mispacientes) # muestra los últimos 6 casos
##    genero edad colesterol colesterolrango
## 5       m   60        201         201-260
## 6       h   52        278            >260
## 7       m   44        262            >260
## 8       h   59        190           <=200
## 9       m   32        220         201-260
## 10      m   40        184           <=200
mispacientes$genero
##  [1] h m m h m h m h m m
## Levels: h m
mispacientes[3,2]
## [1] 34
mispacientes[3,2:3]
##   edad colesterol
## 3   34        190
mispacientes[c(3,5), 2:3]
##   edad colesterol
## 3   34        190
## 5   60        201
mispacientes[, 2:3]
##    edad colesterol
## 1    23        230
## 2    45        241
## 3    34        190
## 4    39        150
## 5    60        201
## 6    52        278
## 7    44        262
## 8    59        190
## 9    32        220
## 10   40        184
mispacientes[2,]
##   genero edad colesterol colesterolrango
## 2      m   45        241         201-260
mispacientes[2:4,]
##   genero edad colesterol colesterolrango
## 2      m   45        241         201-260
## 3      m   34        190           <=200
## 4      h   39        150           <=200
mispacientes[c(3,5),2]
## [1] 34 60

Ejercicio 9. Comparación de proporciones

Estudio sobre la frecuencia de fumadores en tres grupos de pacientes con pesos diferentes (obesos, sobrepeso, normal)

fumadores <- matrix(c(23, 134, 34, 167, 41, 130), ncol=2)
colnames(fumadores) <- c("Fumadores", "No fumadores")
rownames(fumadores) <- c("Obesos", "sobrepeso", "normal")
fumadores
##           Fumadores No fumadores
## Obesos           23          167
## sobrepeso       134           41
## normal           34          130
chisq.test(fumadores)
## 
##  Pearson's Chi-squared test
## 
## data:  fumadores
## X-squared = 188.46, df = 2, p-value < 2.2e-16