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.

Buscad información sobre el paquete Rcmdr (R Commander) desde la consola.

  1. Comprobar paquetes instalados en la sesión de R
library()
sessionInfo()
## R version 4.3.3 (2024-02-29)
## Platform: x86_64-apple-darwin20 (64-bit)
## Running under: macOS 15.1.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libRblas.0.dylib 
## LAPACK: /Library/Frameworks/R.framework/Versions/4.3-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## time zone: Europe/Madrid
## tzcode source: internal
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## loaded via a namespace (and not attached):
##  [1] digest_0.6.37     R6_2.5.1          fastmap_1.2.0     xfun_0.49        
##  [5] cachem_1.1.0      knitr_1.49        htmltools_0.5.8.1 rmarkdown_2.29   
##  [9] lifecycle_1.0.4   cli_3.6.3         sass_0.4.9        jquerylib_0.1.4  
## [13] compiler_4.3.3    rstudioapi_0.17.1 tools_4.3.3       evaluate_1.0.1   
## [17] bslib_0.8.0       yaml_2.3.10       rlang_1.1.4       jsonlite_1.8.9
  1. Instalar el paquete MASS y survival

  2. Buscar información del paquete Rcmdr (RCommander)

??Rcmdr

Ejercicio 2

  1. Importad un archivo de texto y buscad un summary() de tres variables que escojáis.
  2. Importad un archivo «.csv» y buscad un fivenum() de dos variables que os parezcan relevantes para el estudio.
df <- read.csv("/Users/andre/Documents/24genetics/Banzai_Legend/Banzai_v2.6_including_noclientisrael_29092022/K15_15092022_v2.6_ItalyRaveane_from1300_noclientashkenazi.csv", sep = ",")
summary(df)
##       X               North_Sea         Atlantic          Baltic     
##  Length:3039        Min.   : 0.000   Min.   : 0.000   Min.   : 0.00  
##  Class :character   1st Qu.: 0.000   1st Qu.: 0.000   1st Qu.: 0.00  
##  Mode  :character   Median : 1.560   Median : 1.680   Median : 1.06  
##                     Mean   : 7.418   Mean   : 7.981   Mean   : 5.09  
##                     3rd Qu.:13.140   3rd Qu.:13.040   3rd Qu.: 6.30  
##                     Max.   :88.080   Max.   :90.000   Max.   :99.16  
##   Eastern_Euro       West_Med        West_Asian        East_Med     
##  Min.   : 0.000   Min.   : 0.000   Min.   : 0.000   Min.   : 0.000  
##  1st Qu.: 0.000   1st Qu.: 0.000   1st Qu.: 0.000   1st Qu.: 0.000  
##  Median : 1.810   Median : 0.900   Median : 1.380   Median : 0.640  
##  Mean   : 5.527   Mean   : 5.943   Mean   : 7.789   Mean   : 8.597  
##  3rd Qu.: 8.275   3rd Qu.: 9.525   3rd Qu.: 9.780   3rd Qu.:12.890  
##  Max.   :91.570   Max.   :99.110   Max.   :90.730   Max.   :88.590  
##     Red_Sea        South_Asian     Southeast_Asian    Siberian     
##  Min.   :  0.00   Min.   : 0.000   Min.   : 0.00   Min.   : 0.000  
##  1st Qu.:  0.00   1st Qu.: 0.000   1st Qu.: 0.00   1st Qu.: 0.000  
##  Median :  0.32   Median : 0.780   Median : 0.48   Median : 0.540  
##  Mean   :  3.33   Mean   : 5.493   Mean   :14.65   Mean   : 8.294  
##  3rd Qu.:  3.04   3rd Qu.: 4.040   3rd Qu.:12.95   3rd Qu.: 5.265  
##  Max.   :100.00   Max.   :88.390   Max.   :95.97   Max.   :94.520  
##    Amerindian         Oceanian       Northeast_African  Sub.Saharan     
##  Min.   :  0.000   Min.   :  0.000   Min.   : 0.000    Min.   :  0.000  
##  1st Qu.:  0.000   1st Qu.:  0.000   1st Qu.: 0.000    1st Qu.:  0.000  
##  Median :  0.350   Median :  0.190   Median : 0.070    Median :  0.050  
##  Mean   :  8.184   Mean   :  2.877   Mean   : 3.494    Mean   :  5.329  
##  3rd Qu.:  1.400   3rd Qu.:  0.740   3rd Qu.: 1.020    3rd Qu.:  0.730  
##  Max.   :100.000   Max.   :100.000   Max.   :96.630    Max.   :100.000
fivenum(df$North_Sea)
## [1]  0.00  0.00  1.56 13.14 88.08
fivenum(df$Sub.Saharan)
## [1]   0.00   0.00   0.05   0.73 100.00

#Ejercicio 3

library(MASS)
data(anorexia)
anorexia_test <- anorexia
head(anorexia)
##   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
summary(anorexia)
##   Treat        Prewt           Postwt      
##  CBT :29   Min.   :70.00   Min.   : 71.30  
##  Cont:26   1st Qu.:79.60   1st Qu.: 79.33  
##  FT  :17   Median :82.30   Median : 84.05  
##            Mean   :82.41   Mean   : 85.17  
##            3rd Qu.:86.00   3rd Qu.: 91.55  
##            Max.   :94.90   Max.   :103.60
class(anorexia$Treat)
## [1] "factor"
class(anorexia$Prewt)
## [1] "numeric"
class(anorexia$Postwt)
## [1] "numeric"
table(is.na(anorexia))
## 
## FALSE 
##   216
table(is.null(anorexia))
## 
## FALSE 
##     1
factor(anorexia_test$Treat,levels=c("CBT","Cont","FT"),labels=c("Cogn
Beh Tr","Contr","Fam Tr"))
##  [1] Contr        Contr        Contr        Contr        Contr       
##  [6] Contr        Contr        Contr        Contr        Contr       
## [11] Contr        Contr        Contr        Contr        Contr       
## [16] Contr        Contr        Contr        Contr        Contr       
## [21] Contr        Contr        Contr        Contr        Contr       
## [26] Contr        Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr
## [31] Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr
## [36] Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr
## [41] Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr
## [46] Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr
## [51] Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr Cogn\nBeh Tr
## [56] Fam Tr       Fam Tr       Fam Tr       Fam Tr       Fam Tr      
## [61] Fam Tr       Fam Tr       Fam Tr       Fam Tr       Fam Tr      
## [66] Fam Tr       Fam Tr       Fam Tr       Fam Tr       Fam Tr      
## [71] Fam Tr       Fam Tr      
## Levels: Cogn\nBeh Tr Contr Fam Tr

Ejercicio 4

data(biopsy)
write.csv(biopsy, "biopsy.csv")
data(Melanoma)
head(Melanoma)
##   time status sex age year thickness ulcer
## 1   10      3   1  76 1972      6.76     1
## 2   30      3   1  56 1968      0.65     0
## 3   35      2   1  41 1977      1.34     0
## 4   99      3   0  71 1968      2.90     0
## 5  185      1   1  52 1965     12.08     1
## 6  204      1   1  28 1971      4.84     1
write.csv(Melanoma, "./Melanoma.csv")
write.table(Melanoma, "./Melanoma.tsv")
write.matrix(Melanoma, "./Melanoma.matrix")
summary_age <- summary(Melanoma$age)
capture.output(summary(Melanoma$age), file = "summary_age_melanoma.txt")

#Ejercicio 5

data("birthwt")
max(birthwt$age)
## [1] 45
min(birthwt$age)
## [1] 14
range(birthwt$age)
## [1] 14 45
subset(birthwt, lwt==min(lwt))$smoke
## [1] 1

Sí fumaba

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
filter(birthwt, age==max(age))$lwt
## [1] 123

123 lwt

filter(birthwt, ftv<2)$lwt
##   [1] 182 105 107 124 118 103 123 113  95 150  95 100 100  98 120 120 202 120
##  [19] 167 122 168 113 113  90 121 155 125 124 109 130 160  90  90 132  85 120
##  [37] 128 130 115 110 110 153 103 119 119 110 140 133 169 141 112 115 112 135
##  [55] 229 140 121 190 131 170 110 127 123 120 105 130 175 125 133 235  95 135
##  [73] 135 154 147 147 137 110 184 110 110 120 241 112 169 120 117 170 134 135
##  [91] 130  95 158 160 115 129 170 120 116 123 120 187 105  85 150  97 128 132
## [109] 165 105  91 115 130  92 155 103 125  89 112 117 138 130 130 130  80 110
## [127] 105 109 148 110 121  96 102 110 187 122 105 115 120 142 130 110 154 190
## [145] 101  94 142

Ejercicio 6

mtr <- matrix(c(anorexia$Prewt, anorexia$Treat), ncol = 2)

Ejercicio 7

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Í
Trat_Pulmon[Trat_Pulmon$Edad>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]
## [1] 79.3
subset(Trat_Pulmon, Edad<27, select= -c(Alt))
##    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

#Ejercicio 8

data("ChickWeight")
  1. Gráfico de dispersión
plot(ChickWeight$weight, col=blues9)

  1. Boxplot time
boxplot(ChickWeight$Time, col = "lightblue")

Ejercicio 9

anorexia_treat_df <- data.frame("Treat"=anorexia$Treat, "Prewt_Postwt"=anorexia$Prewt-anorexia$Postwt)
anorexia_treat_C_df <- subset(anorexia_treat_df, anorexia_treat_df$Prewt_Postwt>0 & anorexia_treat_df$Treat=="Cont")