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. Buscad información sobre el paquete Rcmdr (R Commander) desde la consola.
library() #Para ver los paquetes cargados
install.packages("MASS", repos = "https://cloud.r-project.org")
## Installing package into 'C:/Users/Guillem/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'MASS' successfully unpacked and MD5 sums checked
## Warning: cannot remove prior installation of package 'MASS'
## Warning in file.copy(savedcopy, lib, recursive = TRUE): problema al copiar
## C:\Users\Guillem\AppData\Local\R\win-library\4.5\00LOCK\MASS\libs\x64\MASS.dll
## a C:\Users\Guillem\AppData\Local\R\win-library\4.5\MASS\libs\x64\MASS.dll:
## Permission denied
## Warning: restored 'MASS'
##
## The downloaded binary packages are in
## C:\Users\Guillem\AppData\Local\Temp\RtmpkBRdie\downloaded_packages
install.packages("survival", repos ="https://cloud.r-project.org")
## Installing package into 'C:/Users/Guillem/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'survival' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Guillem\AppData\Local\Temp\RtmpkBRdie\downloaded_packages
install.packages("Rcmdr", repos ="https://cloud.r-project.org")
## Installing package into 'C:/Users/Guillem/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'Rcmdr' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Guillem\AppData\Local\Temp\RtmpkBRdie\downloaded_packages
a) Importad un archivo de texto y buscad un summary() de tres variables que escojáis.
## Importo un dataset .txt desde "Environment"
##Importo un dataset .csv desde "Environment"
library(readxl)
Height <- read_excel("C:/Users/Guillem/Desktop/Uni/Primer/1r semestre/Bioestadística 1r/Pràcticas/Base de dadas/Height.xlsx")
View(Height)
fivenum(Height$StuH.m, na.rm = TRUE)
## [1] 1.51 1.65 1.70 1.77 2.00
fivenum(Height$ParH.m, na.rm = TRUE)
## [1] 1.500 1.660 1.695 1.720 1.810
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.
library(MASS)
data("anorexia")
View(anorexia) # muestra la tabla con los datos
head(anorexia) # num de obs y variables
## Treat Prewt Postwt
## 1 Cont 80.7 80.2
## 2 Cont 89.4 80.1
## 3 Cont 91.8 86.4
## 4 Cont 74.0 86.3
## 5 Cont 78.1 76.1
## 6 Cont 88.3 78.1
table(is.na(anorexia)) # comprobar si existen valores NA
##
## FALSE
## 216
table(is.null(anorexia)) #comprobar si existen valores NULL
##
## FALSE
## 1
anorexia$Treat <- factor(anorexia$Treat, levels = c("CBT","Cont","FT"), labels = c("Cogn Beh Tr", "Contr","Fam Tr")) #Guardamos en la columna "Treat" las nuevas etiquetas.
anorexia$Treat
## [1] Contr Contr Contr Contr Contr Contr
## [7] Contr Contr Contr Contr Contr Contr
## [13] Contr Contr Contr Contr Contr Contr
## [19] Contr Contr Contr Contr Contr Contr
## [25] Contr Contr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr
## [31] Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr
## [37] Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr
## [43] Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr
## [49] Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr Cogn Beh Tr
## [55] Cogn Beh Tr Fam Tr Fam Tr Fam Tr Fam Tr Fam Tr
## [61] Fam Tr Fam Tr Fam Tr Fam Tr Fam Tr Fam Tr
## [67] Fam Tr Fam Tr Fam Tr Fam Tr Fam Tr Fam Tr
## Levels: Cogn Beh Tr Contr Fam Tr
library(MASS)
data("biopsy")
write.csv(biopsy, file = "datos_exportados.csv", row.names = FALSE) # Exporto los datos como un nuevo archivo .csv
install.packages("readr", repos = "https://cran.rstudio.com")
## Installing package into 'C:/Users/Guillem/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'readr' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Guillem\AppData\Local\Temp\RtmpkBRdie\downloaded_packages
install.packages("writexl", repos = "https://cran.rstudio.com")
## Installing package into 'C:/Users/Guillem/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'writexl' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Guillem\AppData\Local\Temp\RtmpkBRdie\downloaded_packages
library(MASS)
data("Melanoma")
write.csv(Melanoma, file = "melanoma.csv", row.names = FALSE)
saveRDS(Melanoma, file = "datos_melanoma", ascii = FALSE, version = NULL,
compress = TRUE, refhook = NULL)
knitr::include_graphics("captura.png")
install.packages("flextable", repos = "https://cran.rstudio.com")
## Installing package into 'C:/Users/Guillem/AppData/Local/R/win-library/4.5'
## (as 'lib' is unspecified)
## package 'flextable' successfully unpacked and MD5 sums checked
##
## The downloaded binary packages are in
## C:\Users\Guillem\AppData\Local\Temp\RtmpkBRdie\downloaded_packages
library(flextable)
summary_age<- summary(Melanoma$age)
summary_agedf <- as.data.frame(t(as.matrix(summary_age))) ##Convertir el vector en una fila
tabla_age <- flextable(summary_agedf)
save_as_docx(tabla_age, values = NULL, path = "tabla_age.docx", pr_section = NULL, align = "center" )
#Busco en Github un repositorio sobre la Predicción de la Enfermedad Coronaria
library(readr)
heart <- read_csv("C:/Users/Guillem/Desktop/Downloads/heart.csv")
## Rows: 303 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## dbl (14): age, sex, cp, trestbps, chol, fbs, restecg, thalach, exang, oldpea...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(heart)
En el siguiente ejemplo veremos cómo utilizar diferentes operadores sobre el conjunto de datos birthwt, así como también algunas funciones que nos permiten obtener más información de las variables:
a) ¿Cuál es la edad máxima de las madres del conjunto de datos?
library(MASS)
data("birthwt")
View(birthwt)
head(birthwt, n=8) #Observamos los datos antes de hacernos preguntas.
## low age lwt race smoke ptl ht ui ftv bwt
## 85 0 19 182 2 0 0 0 1 0 2523
## 86 0 33 155 3 0 0 0 0 3 2551
## 87 0 20 105 1 1 0 0 0 1 2557
## 88 0 21 108 1 1 0 0 1 2 2594
## 89 0 18 107 1 1 0 0 1 0 2600
## 91 0 21 124 3 0 0 0 0 0 2622
## 92 0 22 118 1 0 0 0 0 1 2637
## 93 0 17 103 3 0 0 0 0 1 2637
max(birthwt$age) #Máximo valor de la variable edad
## [1] 45
b) ¿Cuál es la edad mínima de las madres del conjunto de datos?
min(birthwt$age) #mínimo
## [1] 14
c) ¿Cuál es el rango de edad de las madres?
range(birthwt$age, na.rm=FALSE)
## [1] 14 45
d) ¿Fumaba la madre cuyo recién nacido era el de menor peso?
birthwt$smoke[birthwt$bwt==min(birthwt$bwt)] #preguntamos si fumaba (birthwt$smoke) en la observación en la que el recién nacido tiene (==) el menor peso (min(birthwt$bwt))
## [1] 1
# 1 = SÍ
e) ¿Cuánto pesó el recién nacido cuya madre tenía la edad máxima?
birthwt$bwt[birthwt$age==max(birthwt$age)] #preguntamos el peso (birthwt$bwt) en la observación en la que la madre tiene (==) la mayor edad (min(birthwt$age))
## [1] 4990
mean(birthwt$bwt) #para tener algo más de contexto miramos la media de los pesos, esto no és una relación estadísticamente significativa pero es para tener más visión sobre la situación
## [1] 2944.587
f) Listad los pesos de los recién nacidos, cuyas madres visitarán menos de dos veces al médico durante el primer trimestre.
lista_pesos_visitas2 <- birthwt$bwt[birthwt$ftv < 2 ]
list(lista_pesos_visitas2)
## [[1]]
## [1] 2523 2557 2600 2622 2637 2637 2663 2665 2722 2733 2751 2769 2769 2778 2807
## [16] 2821 2836 2863 2877 2906 2920 2920 2920 2948 2948 2977 2977 2922 3033 3062
## [31] 3062 3062 3062 3090 3090 3100 3104 3132 3175 3175 3203 3203 3203 3225 3225
## [46] 3232 3234 3260 3274 3317 3317 3331 3374 3374 3402 3416 3444 3459 3460 3473
## [61] 3544 3487 3544 3572 3572 3586 3600 3614 3614 3629 3637 3643 3651 3651 3651
## [76] 3651 3699 3728 3756 3770 3770 3770 3790 3799 3827 3884 3912 3940 3941 3941
## [91] 3969 3997 3997 4054 4054 4111 4174 4238 4593 4990 709 1135 1330 1474 1588
## [106] 1588 1701 1729 1790 1818 1885 1893 1899 1928 1936 1970 2055 2055 2084 2084
## [121] 2100 2125 2187 2187 2211 2225 2240 2240 2282 2296 2296 2325 2353 2353 2367
## [136] 2381 2381 2381 2410 2410 2410 2424 2442 2466 2466 2495 2495
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")
View(anorexia)
Prewt <- anorexia$Prewt
Postwt <- anorexia$Postwt
matriz <- matrix(c(Prewt,Postwt),ncol = 2)
head(matriz)
## [,1] [,2]
## [1,] 80.7 80.2
## [2,] 89.4 80.1
## [3,] 91.8 86.4
## [4,] 74.0 86.3
## [5,] 78.1 76.1
## [6,] 88.3 78.1
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
## Identificador Edad Sexo Peso Alt Fuma
## 1 I1 23 1 76.5 165 SÍ
## 2 I2 24 2 81.2 154 NO
## 3 I3 21 1 79.3 178 SÍ
## 4 I4 22 1 59.5 165 SÍ
## 5 I5 23 1 67.3 164 NO
## 6 I6 25 2 78.6 175 NO
## 7 I7 26 2 67.9 182 NO
## 8 I8 24 2 100.2 165 SÍ
## 9 I9 21 1 97.8 178 SÍ
## 10 I10 22 2 56.4 165 SÍ
## 11 I11 23 1 65.4 158 NO
## 12 I12 25 2 67.5 183 NO
## 13 I13 26 2 87.4 184 SÍ
## 14 I14 24 2 99.7 164 SÍ
## 15 I15 22 1 87.6 189 SÍ
## 16 I16 21 1 93.4 167 SÍ
## 17 I17 25 1 65.4 182 NO
## 18 I18 26 2 73.7 179 NO
## 19 I19 24 2 85.1 165 SÍ
## 20 I20 21 2 61.2 158 SÍ
## 21 I21 25 1 54.8 183 SÍ
## 22 I22 27 2 103.4 184 NO
## 23 I23 26 1 65.8 189 SÍ
## 24 I24 22 1 71.7 166 NO
## 25 I25 29 2 85.0 175 SÍ
edad_mayor_22 <- subset(Trat_Pulmon, Edad>22) #utilizamos la función subset que nos devuelve un subconjunto de la matriz
edad_mayor_22
## Identificador Edad Sexo Peso Alt Fuma
## 1 I1 23 1 76.5 165 SÍ
## 2 I2 24 2 81.2 154 NO
## 5 I5 23 1 67.3 164 NO
## 6 I6 25 2 78.6 175 NO
## 7 I7 26 2 67.9 182 NO
## 8 I8 24 2 100.2 165 SÍ
## 11 I11 23 1 65.4 158 NO
## 12 I12 25 2 67.5 183 NO
## 13 I13 26 2 87.4 184 SÍ
## 14 I14 24 2 99.7 164 SÍ
## 17 I17 25 1 65.4 182 NO
## 18 I18 26 2 73.7 179 NO
## 19 I19 24 2 85.1 165 SÍ
## 21 I21 25 1 54.8 183 SÍ
## 22 I22 27 2 103.4 184 NO
## 23 I23 26 1 65.8 189 SÍ
## 25 I25 29 2 85.0 175 SÍ
Trat_Pulmon[3,4] #pedimos que nos devuelva el valor de la fila 3 columna 4
## [1] 79.3
subset(Trat_Pulmon, Edad<27, select = -c(Alt)) #Seleccionamos el subconjunto de datos (subset) que sean mayores a 27 años y seleccionamos (select) el conjunto de datos (c) de altura (Alt) y la eliminamos (-).
## Identificador Edad Sexo Peso Fuma
## 1 I1 23 1 76.5 SÍ
## 2 I2 24 2 81.2 NO
## 3 I3 21 1 79.3 SÍ
## 4 I4 22 1 59.5 SÍ
## 5 I5 23 1 67.3 NO
## 6 I6 25 2 78.6 NO
## 7 I7 26 2 67.9 NO
## 8 I8 24 2 100.2 SÍ
## 9 I9 21 1 97.8 SÍ
## 10 I10 22 2 56.4 SÍ
## 11 I11 23 1 65.4 NO
## 12 I12 25 2 67.5 NO
## 13 I13 26 2 87.4 SÍ
## 14 I14 24 2 99.7 SÍ
## 15 I15 22 1 87.6 SÍ
## 16 I16 21 1 93.4 SÍ
## 17 I17 25 1 65.4 NO
## 18 I18 26 2 73.7 NO
## 19 I19 24 2 85.1 SÍ
## 20 I20 21 2 61.2 SÍ
## 21 I21 25 1 54.8 SÍ
## 23 I23 26 1 65.8 SÍ
## 24 I24 22 1 71.7 NO
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.
data("ChickWeight")
View(ChickWeight)
b) Generad un gráfico de dispersión de la variable weight.
plot(ChickWeight$weight, ylab = "PESO", xlab = "POLLITO", col=3)
c) Cread un diagrama de caja con la variable Time.
boxplot(ChickWeight$Time, ylab = "TIME", col = 5 )
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.
library(MASS)
data("anorexia")
vector <- c(anorexia$Postwt-anorexia$Prewt)
Tratamiento_peso <- data.frame(anorexia,vector)
head(Tratamiento_peso) ##Nuevo dataframe con los valores de tratamiento y la diferencia de peso
## Treat Prewt Postwt vector
## 1 Cont 80.7 80.2 -0.5
## 2 Cont 89.4 80.1 -9.3
## 3 Cont 91.8 86.4 -5.4
## 4 Cont 74.0 86.3 12.3
## 5 Cont 78.1 76.1 -2.0
## 6 Cont 88.3 78.1 -10.2
anorexia_maspeso_cont <-subset(Tratamiento_peso, Tratamiento_peso$Treat=="Cont" & Tratamiento_peso$vector>0)
head(anorexia_maspeso_cont)
## Treat Prewt Postwt vector
## 4 Cont 74.0 86.3 12.3
## 8 Cont 75.1 86.7 11.6
## 10 Cont 78.4 84.6 6.2
## 13 Cont 81.3 89.6 8.3
## 14 Cont 78.1 81.4 3.3
## 15 Cont 70.5 81.8 11.3
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). Pasos que tenéis que seguir para publicar vuestro documento: 1) En RStudio, cread un documento R Markdown. 2) Generad el documento con Knit. 3) En la ventana de previsualización, clicad el botón de publicar. Como solución de vuestro ejercicio, copiad el enlace de vuestra página de prueba de RPubs.
Resolved los siguientes apartados:
a) Cread un conjunto de datos inventado con R. Debe contener treinta observaciones (quince para hombres y quince para mujeres) para seis variables con estas características:
| Variable | Nombre | Características |
|---|---|---|
| Identificador | Id | carácter |
| Edad | Edad | numérica |
| Género | Gene | 2 valores 1 =mujer, 2=hombre |
| Tratamiento | Trat | Factor. Tres tipos de tratamiento (A,B y C) |
| Peso | Peso | numérica (en kg) |
| Estatura | Alt | numérica (en cm) |
Id <- paste0("Id", 1:30)
set.seed(123)
Edad <- sample(x =18:60, size=30, replace = TRUE) #entre 18 i 60 años
Gene <- c(rep(1,15), rep(2,15)) #quiero 15 hombres y 15 mujeres
print(Gene)
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
Trat_nofactor <- sample(x= c("A","B","C"), size = 30, replace = TRUE)
Trat <- factor(Trat_nofactor)
Peso <- sample(x=45:120, size = 30, replace = TRUE) #entre 45 y 120Kg
Alt <- sample(x=140:200, size = 30, replace = TRUE) #entre 1,40m y 2m
Invent <- data.frame(Id,Edad,Gene,Trat,Peso,Alt)
Invent
## Id Edad Gene Trat Peso Alt
## 1 Id1 48 1 B 104 149
## 2 Id2 32 1 A 60 189
## 3 Id3 31 1 C 50 181
## 4 Id4 20 1 A 116 183
## 5 Id5 59 1 A 83 173
## 6 Id6 60 1 B 75 149
## 7 Id7 54 1 C 94 161
## 8 Id8 31 1 C 78 151
## 9 Id9 42 1 A 48 159
## 10 Id10 43 1 C 57 185
## 11 Id11 44 1 A 113 156
## 12 Id12 22 1 C 69 185
## 13 Id13 44 1 B 96 193
## 14 Id14 45 1 A 66 174
## 15 Id15 26 1 B 76 179
## 16 Id16 46 2 A 69 185
## 17 Id17 52 2 A 79 190
## 18 Id18 25 2 C 84 169
## 19 Id19 43 2 A 74 154
## 20 Id20 24 2 B 56 163
## 21 Id21 59 2 A 75 188
## 22 Id22 26 2 A 74 162
## 23 Id23 36 2 C 108 182
## 24 Id24 53 2 A 58 146
## 25 Id25 31 2 B 115 168
## 26 Id26 34 2 A 111 154
## 27 Id27 60 2 C 67 162
## 28 Id28 56 2 A 81 165
## 29 Id29 29 2 C 52 177
## 30 Id30 32 2 B 95 185
b) Buscad información de vuestro conjunto de datos y de vuestras variables.
subset(Invent, Invent$Trat=="A"& Invent$Gene == 1)
## Id Edad Gene Trat Peso Alt
## 2 Id2 32 1 A 60 189
## 4 Id4 20 1 A 116 183
## 5 Id5 59 1 A 83 173
## 9 Id9 42 1 A 48 159
## 11 Id11 44 1 A 113 156
## 14 Id14 45 1 A 66 174
c) Cread una nueva variable a partir de alguna de las que tengamos. Por ejemplo, podéis calcular el IMC (IMC = peso (kg)/ [estatura (m)]2 e incluid la nueva variable en el conjunto de datos.
IMC <- c(Invent$Peso/(Invent$Alt*0.01)^2)
IMC
## [1] 46.84474 16.79684 15.26205 34.63824 27.73230 33.78226 36.26403 34.20903
## [9] 18.98659 16.65449 46.43327 20.16070 25.77250 21.79945 23.71961 20.16070
## [17] 21.88366 29.41073 31.20256 21.07720 21.22001 28.19692 32.60476 27.20961
## [25] 40.74546 46.80385 25.52964 29.75207 16.59804 27.75749
Invent_IMC <- data.frame(Invent,IMC)
Invent_IMC
## Id Edad Gene Trat Peso Alt IMC
## 1 Id1 48 1 B 104 149 46.84474
## 2 Id2 32 1 A 60 189 16.79684
## 3 Id3 31 1 C 50 181 15.26205
## 4 Id4 20 1 A 116 183 34.63824
## 5 Id5 59 1 A 83 173 27.73230
## 6 Id6 60 1 B 75 149 33.78226
## 7 Id7 54 1 C 94 161 36.26403
## 8 Id8 31 1 C 78 151 34.20903
## 9 Id9 42 1 A 48 159 18.98659
## 10 Id10 43 1 C 57 185 16.65449
## 11 Id11 44 1 A 113 156 46.43327
## 12 Id12 22 1 C 69 185 20.16070
## 13 Id13 44 1 B 96 193 25.77250
## 14 Id14 45 1 A 66 174 21.79945
## 15 Id15 26 1 B 76 179 23.71961
## 16 Id16 46 2 A 69 185 20.16070
## 17 Id17 52 2 A 79 190 21.88366
## 18 Id18 25 2 C 84 169 29.41073
## 19 Id19 43 2 A 74 154 31.20256
## 20 Id20 24 2 B 56 163 21.07720
## 21 Id21 59 2 A 75 188 21.22001
## 22 Id22 26 2 A 74 162 28.19692
## 23 Id23 36 2 C 108 182 32.60476
## 24 Id24 53 2 A 58 146 27.20961
## 25 Id25 31 2 B 115 168 40.74546
## 26 Id26 34 2 A 111 154 46.80385
## 27 Id27 60 2 C 67 162 25.52964
## 28 Id28 56 2 A 81 165 29.75207
## 29 Id29 29 2 C 52 177 16.59804
## 30 Id30 32 2 B 95 185 27.75749
d) Cread dos data frames diferenciados para hombres y mujeres con dos nombres diferentes: Df_Hombres y Df_Mujeres.
Df_Hombres <- subset(Invent_IMC, Invent_IMC$Gene=="2")
Df_Mujeres <- subset(Invent_IMC, Invent_IMC$Gene=="1")
e) Combinad de nuevo los dos ficheros anteriores y cread el primero de nuevo con el comando rbind().
Invent_final <- rbind(Df_Hombres, Df_Mujeres)
Invent_final
## Id Edad Gene Trat Peso Alt IMC
## 16 Id16 46 2 A 69 185 20.16070
## 17 Id17 52 2 A 79 190 21.88366
## 18 Id18 25 2 C 84 169 29.41073
## 19 Id19 43 2 A 74 154 31.20256
## 20 Id20 24 2 B 56 163 21.07720
## 21 Id21 59 2 A 75 188 21.22001
## 22 Id22 26 2 A 74 162 28.19692
## 23 Id23 36 2 C 108 182 32.60476
## 24 Id24 53 2 A 58 146 27.20961
## 25 Id25 31 2 B 115 168 40.74546
## 26 Id26 34 2 A 111 154 46.80385
## 27 Id27 60 2 C 67 162 25.52964
## 28 Id28 56 2 A 81 165 29.75207
## 29 Id29 29 2 C 52 177 16.59804
## 30 Id30 32 2 B 95 185 27.75749
## 1 Id1 48 1 B 104 149 46.84474
## 2 Id2 32 1 A 60 189 16.79684
## 3 Id3 31 1 C 50 181 15.26205
## 4 Id4 20 1 A 116 183 34.63824
## 5 Id5 59 1 A 83 173 27.73230
## 6 Id6 60 1 B 75 149 33.78226
## 7 Id7 54 1 C 94 161 36.26403
## 8 Id8 31 1 C 78 151 34.20903
## 9 Id9 42 1 A 48 159 18.98659
## 10 Id10 43 1 C 57 185 16.65449
## 11 Id11 44 1 A 113 156 46.43327
## 12 Id12 22 1 C 69 185 20.16070
## 13 Id13 44 1 B 96 193 25.77250
## 14 Id14 45 1 A 66 174 21.79945
## 15 Id15 26 1 B 76 179 23.71961