Ejercicio 1: Utilizando las funciones citadas en este Laboratorio, comprobad qué paquetes tenéis instalados en vuestra versión de RStudio e instalad el paquete MASS y el paquete Survival y comprobad la información que contienen.
library()
install.packages(MASS)
install.packages(Survival)
#Para comprobar su información
??MASS
??Survival
Ejercicio 2:
a¡A) Importad un archivo de texto y buscad un summary() de tres variables que escojáis
B) Importad un archivo «.csv» y buscad un fivenum() de dos variables que os parezcan relevantes para el estudio.
#A
#Primero cargamos el paquete necesario
library(readr)
read.csv("C:/Users/jmene/Downloads/iris.txt", sep="")
view(iris)
#Hacemos el summary de las 3 variables a la vez
summary(iris[, c("Sepal.Length", "Sepal.Width", "Petal.Length")])
#B
titanic <- read.csv("C:/Users/jmene/Downloads/titanic.txt", sep="")
view(titanic))
fivenum(titanic$Age, na.rm = TRUE)
fivenum(titanic$Fare, na.rm = TRUE)
Ejercicio 3: A partir del conjunto de datos anorexia del paquete MASS, que corresponden a los datos de cambio de peso de pacientes jóvenes con anorexia, mostrad los tipos de datos que contiene y comprobad si existen valores NA y NULL. Para la variable Treat, transformad los valores «CBT», «Cont» y «FT» en «Cogn Beh Tr», «Contr» y «Fam Tr», respectivamente.
#Cargamos el paquete y los datos
library(MASS)
anorexia <- anorexia
View(anorexia)
#Evaluamos valores NA y Null
table(is.na(anorexia))
table(in.null(anorexia))
#Transformación de valores
anorexia_2 <-factor(anorexia$Treat, level=c("CBT", "Cont", "FT"), labels=c("Cogn Beh Tr", "Contr", "Fam Tr"))
view(anorexia_2)
Ejercicio 4:*
A) Exportad los datos biopsy del paquete MASS a un archivo «.csv.»
B) Exportad los datos melanoma del paquete MASS a archivos de tres diferentes formatos y comprobad que se han creado los diferentes archivos en los formatos y las rutas especificados. Podéis generar una captura de pantalla de su ubicación en la carpeta.
C) Generad un resumen (summary) de la variable age de melanoma y guardad la salida que os aparece en un documento .doc
D) Buscad un data frame en algún repositorio de datos de Biomedicina, descargad un conjunto de datos en «.csv» e importad este fichero a un documento R Markdown usando el código o el menú de importación de RStudio.
#A) Cargamos el paquete y exportamos en csv
library(MASS)
write.csv(biopsy, file = "C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/biopsy.csv")
#B) Exportar los datos melanoma. Primero cargamos paquetes necesarios
library(MASS)
library(xlsx)
write.csv(biopsy, file = "C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/melanoma.csv")
write.table(biopsy, file = "C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/biopsy.txt")
write.xlsx(biopsy, file = "C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/biopsy.xlsx")
#Ahora comprobamos que se hayan creado y estén en la carpeta
carpeta <- "C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/"
archivos <- c("melanoma.csv", "biopsy.txt", "biopsy.xlsx")
existen <- file.exists(paste0(carpeta, archivos))
names(existen) <- archivos
print(existen)
#C Generar el summary y guardarlo como archivo .doc
capture.output(summary(Melanoma), file = "C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/Resumen_Melanoma.doc")
#D importación del archio csv a Rmarkdown
diabetes <- read_csv("C:/Users/jmene/OneDrive - Universidad Rey Juan Carlos/Máster UOC/Software para el análisis de datos/diabetes.csv")
Ejercicio 5: Del conjunto de datos birthwt
A) ¿Cuál es la edad máxima de las madres del conjunto de datos?
B) ¿Cuál es la edad mínima de las madres del conjunto de datos?
C) ¿Cuál es el rango de edad de las madres?
D) ¿Fumaba la madre cuyo recién nacido era el de menor peso?
E) ¿Cuánto pesó el recién nacido cuya madre tenía la edad máxima?
F) Listad los pesos de los recién nacidos, cuyas madres visitarán menos de dos veces al médico durante el primer trimestre.
#A, B y C Cargamos los datos y los convertimos a df. para un mejor manejo
Datos_birtwt <- birthwt
#Hacemos summay para obtener máx, min y rango
summary(Datos_birtwt$age)
range(Datos_birtwt$age)
#D
Datos_birtwt$smoke[Datos_birtwt$bwt==min(Datos_birtwt$bwt)]
#E
Datos_birtwt$bwt[Datos_birtwt$age==max(Datos_birtwt$age)]
#F
Datos_birtwt$bwt[Datos_birtwt$ftv<2]
Ejercicio 6: A partir del conjunto de datos anorexia trabajado en apartados anteriores, cread una matriz que tenga como columnas los valores de Prewt y Postwt, y cada fila sean los valores correspondientes para cada posición.
data(anorexia)
anorexia <- anorexia
matriz <-matrix(c(anorexia$Prewt, anorexia$Postwt), ncol = 2)
show(matriz)
Ejercicio 7: Copia el código siguiente en tu consola para generar un data frame con veinticinco registros y seis variables, y responde a los siguientes apartados:
Identificador <- c("I1","I2","I3","I4","I5","I6","I7","I8","I9","I10","I11","I12","I13","I14","I15","I16","I17","I18","I19","I20","I21","I22","I23","I24","I25")
Edad <- c(23,24,21,22,23,25,26,24,21,22,23,25,26,24,22,21,25,26,24,21,25,27,26,22,29)
Sexo <-c(1,2,1,1,1,2,2,2,1,2,1,2,2,2,1,1,1,2,2,2,1,2,1,1,2) #1 para mujeres y 2 para hombres
Peso <- c(76.5,81.2,79.3,59.5,67.3,78.6,67.9,100.2,97.8,56.4,65.4,67.5,87.4,99.7,87.6,93.4,65.4,73.7,85.1,61.2,54.8,103.4,65.8,71.7,85.0)
Alt <- c(165,154,178,165,164,175,182,165,178,165,158,183,184,164,189,167,182,179,165 ,158,183,184,189,166,175) #altura en cm
Fuma <- c("SÍ","NO","SÍ","SÍ","NO","NO","NO","SÍ","SÍ","SÍ","NO","NO","SÍ","SÍ","SÍ", "SÍ","NO","NO","SÍ","SÍ","SÍ","NO","SÍ","NO","SÍ")
Trat_Pulmon <- data.frame(Identificador,Edad,Sexo,Peso,Alt,Fuma)
Trat_Pulmon
A) Seleccionad los registros con edad >22
B) Seleccionad el elemento 3 de la columna 4 del conjunto de datos (contando el identificador).
C) Usad el comando subset() para seleccionar todas las filas que tienen una edad menor que 27 años y sin incluir la columna Alt.
#A Registros edad >22
Edad_joven <-subset(Trat_Pulmon, Edad >22)
Edad_joven
#B Elemento 3 de la columna j
Variable <- Trat_Pulmon[3,4]
Variable
#C Filas edad <27 quitando Alt
subgrupo <- subset(Trat_Pulmon, Edad <27, select = -c(Alt))
subgrupo
Ejercicio 8: Incorporad el dataset ChickWeight que contiene información sobre el peso de 578 pollitos en gramos (weight), el tiempo desde la medición al nacer (Time), una variable identificadora de cada pollito (Chick) a partir del rango de peso y una variable factor con el tipo de dieta experimental que cada pollito recibió (Diet).
A) Incorporad el conjunto de datos ChickWeight del paquete datasets a vuestro entorno de trabajo.
B) Generad un gráfico de dispersión de la variable weight.
C) Cread un diagrama de caja con la variable Time
#A
library(datasets)
data("ChickWeight")
view(Chickweight)
#B
plot(ChickWeight$weight, main = "Dispersion peso")
#C
boxplot(ChickWeight$Time, main = "Tiempo", col = "lightblue")
Ejercicio 9: A partir del conjunto de datos anorexia del paquete MASS, cread otro data frame que se llame anorexia_treat_df formado por Treat y por un vector nuevo calculado a partir de la diferencia Prewt-Postwt. De esta manera, nos quedará un data frame que contenga el tipo de tratamiento y el valor del peso ganado o perdido después de haber realizado el tratamiento. Seleccionad aquellos individuos que han ganado peso después del tratamiento y cread un nuevo conjunto llamado anorexia_treat_C_df que contenga solo los datos de aquellos que han seguido el tratamiento «Cont» y que han ganado peso después del tratamiento.
#Primero calculamos la diferencia del pre-post
cambio_pre_post <- c(anorexia$Postwt - anorexia$Prewt)
cambio_pre_post
#Creamos el nuevo df
anorexia_treat_df <- data.frame(anorexia, cambio_pre_post)
#Seleccionamos a los que han seguido el tratamiento
anorexia_C <- subset(anorexia_treat_df,anorexia_treat_df$Treat=="Cont"&anorexia_treat_df$cambio_pre_post>0)
anorexia_C
Ejercicio 10: Entrad en RPubs y registraros. Crearos un perfil y subid un documento R Markdown. Los prerequisitos son tener instalado R y RStudio (v0.96.230 o más), y el paquete knitr (v0.5 o más).