R Markdown

##This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com. ## ##When you click the Knit button a document will be generated that includes both content as well as ##the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

##{r cars} ##summary(cars) ##

Including Plots

##You can also embed plots, for example:

##{r pressure, echo=FALSE} ##plot(pressure) ##

##Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code ##that generated the plot.

data<-read.table("BD_CANONICA.csv",sep=";")
colnames(data) <-c("Departamento","Humedad [%]","Temperatura promedio [C]","Precipitación [mm]","Producción de Agua [miles de m3]","Caudal Promedio [m3/s]")
data
##    Departamento Humedad [%] Temperatura promedio [C] Precipitación [mm]
## 1    AHUACHAPÁN       73.08                     23.5                136
## 2     SANTA ANA       68.50                     24.5                134
## 3     SONSONATE       68.30                     26.5                144
## 4  CHALATENANGO       74.20                     24.0                146
## 5   LA LIBERTAD       74.80                     28.0                161
## 6  SAN SALVADOR       73.30                     24.0                146
## 7     CUSCATLÁN       76.60                     25.0                142
## 8        LA PAZ       75.00                     27.5                147
## 9       CABAÑAS       67.00                     25.5                139
## 10  SAN VICENTE       69.80                     25.5                142
## 11     USULUTÁN       80.00                     28.0                155
## 12   SAN MIGUEL       58.00                     29.0                157
## 13      MORAZÁN       76.00                     27.0                151
## 14     LA UNIÓN       68.00                     30.0                165
##    Producción de Agua [miles de m3] Caudal Promedio [m3/s]
## 1                           12666.5                  25.60
## 2                           49344.9                  57.03
## 3                           17259.4                   2.96
## 4                            3335.1                   1.93
## 5                           31390.6                  10.41
## 6                          177522.5                   7.86
## 7                           12592.4                   1.92
## 8                           12088.5                   2.94
## 9                            5520.0                   2.94
## 10                           8366.0                   7.86
## 11                          14627.8                   2.94
## 12                          15266.2                  19.01
## 13                            488.3                  30.65
## 14                          10655.4                  12.59
cov(data[,-1])
##                                   Humedad [%] Temperatura promedio [C]
## Humedad [%]                         30.106007                -2.588571
## Temperatura promedio [C]            -2.588571                 4.104396
## Precipitación [mm]                  -1.605385                16.076923
## Producción de Agua [miles de m3] 12124.110066            -29635.520330
## Caudal Promedio [m3/s]             -19.366204                -4.549286
##                                  Precipitación [mm]
## Humedad [%]                               -1.605385
## Temperatura promedio [C]                  16.076923
## Precipitación [mm]                        85.500000
## Producción de Agua [miles de m3]      -34235.507692
## Caudal Promedio [m3/s]                   -38.370769
##                                  Producción de Agua [miles de m3]
## Humedad [%]                                              12124.11
## Temperatura promedio [C]                                -29635.52
## Precipitación [mm]                                      -34235.51
## Producción de Agua [miles de m3]                    2040914703.80
## Caudal Promedio [m3/s]                                   45727.62
##                                  Caudal Promedio [m3/s]
## Humedad [%]                                  -19.366204
## Temperatura promedio [C]                      -4.549286
## Precipitación [mm]                           -38.370769
## Producción de Agua [miles de m3]           45727.621418
## Caudal Promedio [m3/s]                       242.534213
##la matriz de covarianzas de X, Sxx es:

X <-data[,(2:4)]
cov(X)
##                          Humedad [%] Temperatura promedio [C]
## Humedad [%]                30.106007                -2.588571
## Temperatura promedio [C]   -2.588571                 4.104396
## Precipitación [mm]         -1.605385                16.076923
##                          Precipitación [mm]
## Humedad [%]                       -1.605385
## Temperatura promedio [C]          16.076923
## Precipitación [mm]                85.500000
##La matriz de covarianzas de Y,Syy es:

Y <-data[,(5:6)]
cov(Y)
##                                  Producción de Agua [miles de m3]
## Producción de Agua [miles de m3]                     2.040915e+09
## Caudal Promedio [m3/s]                               4.572762e+04
##                                  Caudal Promedio [m3/s]
## Producción de Agua [miles de m3]             45727.6214
## Caudal Promedio [m3/s]                         242.5342
##La matriz de covarianzas de X e Y, Sxy es:

cov(X,Y)
##                          Producción de Agua [miles de m3]
## Humedad [%]                                      12124.11
## Temperatura promedio [C]                        -29635.52
## Precipitación [mm]                              -34235.51
##                          Caudal Promedio [m3/s]
## Humedad [%]                          -19.366204
## Temperatura promedio [C]              -4.549286
## Precipitación [mm]                   -38.370769
##encontrar los autovalores y autovectores de las siguientes matrices cuadradas

A <-solve(cov(X,X))%*%cov(X,Y)%*%solve(cov(Y,Y))%*%cov(Y,X)
B <-solve(cov(Y,Y))%*%cov(Y,X)%*%solve(cov(X,X))%*%cov(X,Y)

A
##                          Humedad [%] Temperatura promedio [C]
## Humedad [%]               0.03499497               0.03028919
## Temperatura promedio [C] -0.29296465               0.32816096
## Precipitación [mm]        0.08912795              -0.04824701
##                          Precipitación [mm]
## Humedad [%]                      0.10891510
## Temperatura promedio [C]         0.13150253
## Precipitación [mm]               0.05251439
B
##                                  Producción de Agua [miles de m3]
## Producción de Agua [miles de m3]                        0.2810228
## Caudal Promedio [m3/s]                               -136.7304932
##                                  Caudal Promedio [m3/s]
## Producción de Agua [miles de m3]          -1.296891e-05
## Caudal Promedio [m3/s]                     1.346475e-01
##Los autovalores son las soluciones de la ecuación |A–λI|=0 . En este caso tenemos tres autovalores ( el mínimo entre p=3 y q=2 es 2 ):

eigen(A)$values
## [1]  2.922726e-01  1.233978e-01 -6.938894e-18
eigen(B)$values 
## [1] 0.2922726 0.1233978
##Las correspondientes correlaciones canónicas son las raíces cuadradas positivas de los autovalores anteriores:

r <-sqrt(abs(eigen(A)$values))
r
## [1] 5.406224e-01 3.512802e-01 2.634178e-09
##Los primeros vectores canónicos se obtienen a partir del primer autovector de A y del primer autovector de B:

a <-eigen(A)$vector[,1]
b <-eigen(B)$vector[,1]
a
## [1]  0.03793359  0.98227561 -0.18356377
b
## [1]  0.001152815 -0.999999336
##Como atSxxa debe ser igual a 1 y

t(a)%*%cov(X,X)%*%a
##           [,1]
## [1,] 0.9162729
t(b)%*%cov(Y,Y)%*%b
##          [,1]
## [1,] 2849.442
##vectores canonicos

a1<-(a*(1/(1.54201^0.5)))
a1
## [1]  0.03054783  0.79102420 -0.14782347
b1<-(b*(1/(1.065463^0.5)))
b1
## [1]  0.001116838 -0.968791958
##Estimando los segundos vectores canonicos

a11 <-eigen(A)$vector[,2]
b11 <-eigen(B)$vector[,2]
a11
## [1] 0.6350356 0.7031329 0.3198968
b11
## [1] 8.227694e-05 1.000000e+00
##Como atSxxa debe ser igual a 1 y

t(a11)%*%cov(X,X)%*%a11
##          [,1]
## [1,] 27.18804
t(b11)%*%cov(Y,Y)%*%b11
##          [,1]
## [1,] 263.8748
##vectores canonicos

a2<-(a*(1/(1.54201^0.5)))
a2
## [1]  0.03054783  0.79102420 -0.14782347
b2<-(b*(1/(1.065463^0.5)))
b2
## [1]  0.001116838 -0.968791958
#TEST PARA DESARROLLO DE EJERCICIO CANONICA

library(GGally)
## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
library(fields)
## Loading required package: spam
## Loading required package: dotCall64
## Loading required package: grid
## Spam version 2.6-0 (2020-12-14) is loaded.
## Type 'help( Spam)' or 'demo( spam)' for a short introduction 
## and overview of this package.
## Help for individual functions is also obtained by adding the
## suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
## 
## Attaching package: 'spam'
## The following objects are masked from 'package:base':
## 
##     backsolve, forwardsolve
## Loading required package: viridis
## Loading required package: viridisLite
## See https://github.com/NCAR/Fields for
##  an extensive vignette, other supplements and source code
library(CCA)
## Loading required package: fda
## Loading required package: splines
## Loading required package: Matrix
## 
## Attaching package: 'Matrix'
## The following object is masked from 'package:spam':
## 
##     det
## Loading required package: fds
## Loading required package: rainbow
## Loading required package: MASS
## Loading required package: pcaPP
## Loading required package: RCurl
## 
## Attaching package: 'fda'
## The following object is masked from 'package:graphics':
## 
##     matplot
library(vegan)
## Loading required package: permute
## Loading required package: lattice
## 
## Attaching package: 'lattice'
## The following object is masked from 'package:fda':
## 
##     melanoma
## This is vegan 2.5-7
clima<-read.table("CLIMA.csv",sep=";")
agua<-read.table("AGUA.csv",sep=";")
colnames(agua)<-c("Produccion de agua [miles de m3]","Caudal Promedio [m3/s]")
colnames(clima)<-c("Humedad [%]","Temperatura [C]","Precipitacion [mm]")

clima
##    Humedad [%] Temperatura [C] Precipitacion [mm]
## 1        73.08            23.5                136
## 2        68.50            24.5                134
## 3        68.30            26.5                144
## 4        74.20            24.0                146
## 5        74.80            28.0                161
## 6        73.30            24.0                146
## 7        76.60            25.0                142
## 8        75.00            27.5                147
## 9        67.00            25.5                139
## 10       69.80            25.5                142
## 11       80.00            28.0                155
## 12       58.00            29.0                157
## 13       76.00            27.0                151
## 14       68.00            30.0                165
agua
##    Produccion de agua [miles de m3] Caudal Promedio [m3/s]
## 1                           12666.5                  25.60
## 2                           49344.9                  57.03
## 3                           17259.4                   2.96
## 4                            3335.1                   1.93
## 5                           31390.6                  10.41
## 6                          177522.5                   7.86
## 7                           12592.4                   1.92
## 8                           12088.5                   2.94
## 9                            5520.0                   2.94
## 10                           8366.0                   7.86
## 11                          14627.8                   2.94
## 12                          15266.2                  19.01
## 13                            488.3                  30.65
## 14                          10655.4                  12.59
#gráficas la correlación dentro de cada conjunto de variables

ggpairs(agua, title = "Disponibilidad de Agua")

ggpairs(clima, title = "Variables climaticas")

#Para ambas variables

deptos <-cbind(agua,clima)
ggduo(deptos,columnsX = 1:2,columnsY = 3:5,
      types = list(continuous = "smooth_lm"),
      title = "Correlación entre variables Disponibilidad de agua y  climaticas",
      xlab = "Disponibilidad de agua",
      ylab = "Clima"
)

#Correlacion canónica

mat_cor  <-matcor(clima,agua)
mat_cor
## $Xcor
##                    Humedad [%] Temperatura [C] Precipitacion [mm]
## Humedad [%]          1.0000000      -0.2328675         -0.0316424
## Temperatura [C]     -0.2328675       1.0000000          0.8582134
## Precipitacion [mm]  -0.0316424       0.8582134          1.0000000
## 
## $Ycor
##                                  Produccion de agua [miles de m3]
## Produccion de agua [miles de m3]                       1.00000000
## Caudal Promedio [m3/s]                                 0.06499496
##                                  Caudal Promedio [m3/s]
## Produccion de agua [miles de m3]             0.06499496
## Caudal Promedio [m3/s]                       1.00000000
## 
## $XYcor
##                                  Humedad [%] Temperatura [C] Precipitacion [mm]
## Humedad [%]                       1.00000000      -0.2328675         -0.0316424
## Temperatura [C]                  -0.23286755       1.0000000          0.8582134
## Precipitacion [mm]               -0.03164240       0.8582134          1.0000000
## Produccion de agua [miles de m3]  0.04891149      -0.3237990         -0.0819561
## Caudal Promedio [m3/s]           -0.22663732      -0.1441890         -0.2664593
##                                  Produccion de agua [miles de m3]
## Humedad [%]                                            0.04891149
## Temperatura [C]                                       -0.32379901
## Precipitacion [mm]                                    -0.08195610
## Produccion de agua [miles de m3]                       1.00000000
## Caudal Promedio [m3/s]                                 0.06499496
##                                  Caudal Promedio [m3/s]
## Humedad [%]                                 -0.22663732
## Temperatura [C]                             -0.14418899
## Precipitacion [mm]                          -0.26645934
## Produccion de agua [miles de m3]             0.06499496
## Caudal Promedio [m3/s]                       1.00000000
cca1<- cc(clima,agua)
cca1
## $cor
## [1] 0.5406224 0.3512802
## 
## $names
## $names$Xnames
## [1] "Humedad [%]"        "Temperatura [C]"    "Precipitacion [mm]"
## 
## $names$Ynames
## [1] "Produccion de agua [miles de m3]" "Caudal Promedio [m3/s]"          
## 
## $names$ind.names
##  [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11" "12" "13" "14"
## 
## 
## $xcoef
##                           [,1]        [,2]
## Humedad [%]         0.03962886 -0.12178929
## Temperatura [C]     1.02617386 -0.13484922
## Precipitacion [mm] -0.19176731 -0.06135089
## 
## $ycoef
##                                           [,1]         [,2]
## Produccion de agua [miles de m3] -2.159631e-05 5.064997e-06
## Caudal Promedio [m3/s]            1.873354e-02 6.156034e-02
## 
## $scores
## $scores$xscores
##              [,1]        [,2]
##  [1,] -0.59516198  0.90250438
##  [2,]  0.63304631  1.44815188
##  [3,]  0.75979521  0.58930237
##  [4,] -1.95536378  0.08516684
##  [5,] -0.70340058 -1.44756700
##  [6,] -1.99102975  0.19477720
##  [7,] -0.06701143 -0.09657309
##  [8,]  1.47618053 -0.54558774
##  [9,]  0.64094035  1.18923212
## [10,]  0.17659925  0.66416945
## [11,]  0.65327333 -1.71276592
## [12,]  0.42407764  0.70904735
## [13,]  0.23565324 -0.84535599
## [14,]  0.31240167 -1.13450187
## 
## $scores$yscores
##               [,1]       [,2]
##  [1,]  0.528777048  0.6851461
##  [2,]  0.325453929  2.8057636
##  [3,]  0.005460003 -0.6853170
##  [4,]  0.286878019 -0.8192507
##  [5,] -0.160156968 -0.1551180
##  [6,] -3.363837967  0.4280607
##  [7,]  0.086767122 -0.7729781
##  [8,]  0.116757715 -0.7127388
##  [9,]  0.258613107 -0.7460082
## [10,]  0.289319009 -0.4287164
## [11,]  0.061918193 -0.6998773
## [12,]  0.349179084  0.2926309
## [13,]  0.886385659  0.9343433
## [14,]  0.328486048 -0.1259402
## 
## $scores$corr.X.xscores
##                            [,1]       [,2]
## Humedad [%]        -0.210574015 -0.5866762
## Temperatura [C]     0.506539092 -0.6044372
## Precipitacion [mm]  0.004108974 -0.7806033
## 
## $scores$corr.Y.xscores
##                                        [,1]      [,2]
## Produccion de agua [miles de m3] -0.5172045 0.1022682
## Caudal Promedio [m3/s]            0.1234430 0.3420003
## 
## $scores$corr.X.yscores
##                            [,1]       [,2]
## Humedad [%]        -0.113841025 -0.2060877
## Temperatura [C]     0.273846370 -0.2123268
## Precipitacion [mm]  0.002221403 -0.2742105
## 
## $scores$corr.Y.yscores
##                                        [,1]      [,2]
## Produccion de agua [miles de m3] -0.9566835 0.2911301
## Caudal Promedio [m3/s]            0.2283349 0.9735826
#Gráficos de correspondencia canónica

img.matcor(mat_cor, type = 2)

plt.cc(cca1,var.label=T)

cca2<- cca(clima,agua)
cca2
## Call: cca(X = clima, Y = agua)
## 
##                 Inertia Proportion Rank
## Total         2.146e-03  1.000e+00     
## Constrained   6.573e-05  3.063e-02    2
## Unconstrained 2.080e-03  9.694e-01    2
## Inertia is scaled Chi-square 
## 
## Eigenvalues for constrained axes:
##      CCA1      CCA2 
## 6.537e-05 3.500e-07 
## 
## Eigenvalues for unconstrained axes:
##       CA1       CA2 
## 0.0020012 0.0000789
plot(cca2)