#EJERCICIO ESPECTROS#
###generación datos##
spectro560<-data.frame(c(9.33,8.74,9.31,8.27,10.22,10.13,10.42,10.62,15.25,16.22,17.24,12.77,12.07,11.03,12.48,12.12,15.38,14.21,9.69,14.35,38.71,44.74,36.67,37.21,8.73,7.94,8.37,7.86,8.45,6.79,8.34,7.54,14.04,13.51,13.33,12.77));spectro560
## c.9.33..8.74..9.31..8.27..10.22..10.13..10.42..10.62..15.25..
## 1 9.33
## 2 8.74
## 3 9.31
## 4 8.27
## 5 10.22
## 6 10.13
## 7 10.42
## 8 10.62
## 9 15.25
## 10 16.22
## 11 17.24
## 12 12.77
## 13 12.07
## 14 11.03
## 15 12.48
## 16 12.12
## 17 15.38
## 18 14.21
## 19 9.69
## 20 14.35
## 21 38.71
## 22 44.74
## 23 36.67
## 24 37.21
## 25 8.73
## 26 7.94
## 27 8.37
## 28 7.86
## 29 8.45
## 30 6.79
## 31 8.34
## 32 7.54
## 33 14.04
## 34 13.51
## 35 13.33
## 36 12.77
spectro720<-data.frame(c(19.14,19.55,19.24,16.37,25.00,25.32,27.12,26.28,38.89,36.67,40.74,67.50,33.03,32.37,31.31,33.33,40.00,40.48,33.90,40.15,77.14,78.57,71.43,45.00,23.27,20.87,22.16,21.78,26.32,22.73,26.67,24.87,44.44,37.93,37.93,60.87));spectro720
## c.19.14..19.55..19.24..16.37..25..25.32..27.12..26.28..38.89..
## 1 19.14
## 2 19.55
## 3 19.24
## 4 16.37
## 5 25.00
## 6 25.32
## 7 27.12
## 8 26.28
## 9 38.89
## 10 36.67
## 11 40.74
## 12 67.50
## 13 33.03
## 14 32.37
## 15 31.31
## 16 33.33
## 17 40.00
## 18 40.48
## 19 33.90
## 20 40.15
## 21 77.14
## 22 78.57
## 23 71.43
## 24 45.00
## 25 23.27
## 26 20.87
## 27 22.16
## 28 21.78
## 29 26.32
## 30 22.73
## 31 26.67
## 32 24.87
## 33 44.44
## 34 37.93
## 35 37.93
## 36 60.87
spectro<-data.frame(cbind(spectro560,spectro720));spectro
## c.9.33..8.74..9.31..8.27..10.22..10.13..10.42..10.62..15.25..
## 1 9.33
## 2 8.74
## 3 9.31
## 4 8.27
## 5 10.22
## 6 10.13
## 7 10.42
## 8 10.62
## 9 15.25
## 10 16.22
## 11 17.24
## 12 12.77
## 13 12.07
## 14 11.03
## 15 12.48
## 16 12.12
## 17 15.38
## 18 14.21
## 19 9.69
## 20 14.35
## 21 38.71
## 22 44.74
## 23 36.67
## 24 37.21
## 25 8.73
## 26 7.94
## 27 8.37
## 28 7.86
## 29 8.45
## 30 6.79
## 31 8.34
## 32 7.54
## 33 14.04
## 34 13.51
## 35 13.33
## 36 12.77
## c.19.14..19.55..19.24..16.37..25..25.32..27.12..26.28..38.89..
## 1 19.14
## 2 19.55
## 3 19.24
## 4 16.37
## 5 25.00
## 6 25.32
## 7 27.12
## 8 26.28
## 9 38.89
## 10 36.67
## 11 40.74
## 12 67.50
## 13 33.03
## 14 32.37
## 15 31.31
## 16 33.33
## 17 40.00
## 18 40.48
## 19 33.90
## 20 40.15
## 21 77.14
## 22 78.57
## 23 71.43
## 24 45.00
## 25 23.27
## 26 20.87
## 27 22.16
## 28 21.78
## 29 26.32
## 30 22.73
## 31 26.67
## 32 24.87
## 33 44.44
## 34 37.93
## 35 37.93
## 36 60.87
colnames(spectro)=c("spectro 560","spectro 720")
View(spectro)
g<-gl(3,12,36,c("SS","JL", "LP"));g
## [1] SS SS SS SS SS SS SS SS SS SS SS SS JL JL JL JL JL JL JL JL JL JL JL
## [24] JL LP LP LP LP LP LP LP LP LP LP LP LP
## Levels: SS JL LP
###anova para una sola variable respuesta##
anov.560<-aov(spectro$`spectro 560`~g);anov.560
## Call:
## aov(formula = spectro$`spectro 560` ~ g)
##
## Terms:
## g Residuals
## Sum of Squares 965.1812 2147.7145
## Deg. of Freedom 2 33
##
## Residual standard error: 8.067357
## Estimated effects may be unbalanced
anov.720<-aov(spectro$`spectro 720`~g);anov.720
## Call:
## aov(formula = spectro$`spectro 720` ~ g)
##
## Terms:
## g Residuals
## Sum of Squares 2026.856 7536.997
## Deg. of Freedom 2 33
##
## Residual standard error: 15.11271
## Estimated effects may be unbalanced
##normalidad univarida##
shapiro.test(spectro$`spectro 560`)
##
## Shapiro-Wilk normality test
##
## data: spectro$`spectro 560`
## W = 0.64673, p-value = 4.538e-08
shapiro.test(spectro$`spectro 720`)
##
## Shapiro-Wilk normality test
##
## data: spectro$`spectro 720`
## W = 0.84251, p-value = 0.0001286
###normalidad multivariada###
norm.560<-shapiro.test(anov.560$residuals)
norm.720<-shapiro.test(anov.720$residuals)
ifelse(norm.560$p.value<0.05,"rechazo Ho", "no rechazo Ho")
## [1] "rechazo Ho"
ifelse(norm.720$p.value<0.05,"rechazo Ho", "no rechazo Ho")
## [1] "rechazo Ho"
##prueba de correlacion##
cor.test(spectro$`spectro 560`,spectro$`spectro 720`) ##no puede consederarse nula##
##
## Pearson's product-moment correlation
##
## data: spectro$`spectro 560` and spectro$`spectro 720`
## t = 8.144, df = 34, p-value = 1.691e-09
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.6611588 0.9009499
## sample estimates:
## cor
## 0.8130816
##igualdad de convarianzas##
var(spectro[1:12,])
## spectro 560 spectro 720
## spectro 560 9.444588 28.47334
## spectro 720 28.473339 203.87040
var(spectro[13:24,])
## spectro 560 spectro 720
## spectro 560 178.3878 221.8819
## spectro 720 221.8819 332.1606
var(spectro[25:36,])
## spectro 560 spectro 720
## spectro 560 7.414354 27.71932
## spectro 720 27.719318 149.15058
library(biotools)
## Loading required package: rpanel
## Loading required package: tcltk
## Package `rpanel', version 1.1-4: type help(rpanel) for summary information
## Loading required package: tkrplot
## Loading required package: MASS
## Loading required package: lattice
## Loading required package: SpatialEpi
## Loading required package: sp
## ---
## biotools version 3.1
##
mbox.spectro<-boxM(spectro,g)
ifelse(mbox.spectro$p.value<0.05,"Rechazo Ho","no rechazo Ho")
## [1] "Rechazo Ho"
######prueba de igualdad de varianzas####
library(biotools)
mbox.spectra<-boxM(spectro,g);mbox.spectra
##
## Box's M-test for Homogeneity of Covariance Matrices
##
## data: spectro
## Chi-Sq (approx.) = 41.969, df = 6, p-value = 1.865e-07
ifelse(mbox.spectra$p.value<0.05,"Rechazo Ho","no rechazo Ho") #igualdad de covaria
## [1] "Rechazo Ho"
#Outliers univariados##
summary(spectro$`spectro 560`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 6.790 8.738 11.550 14.301 14.245 44.740
out.560<-c(spectro$`spectro 560`<44.74,spectro$`spectro 560`>6.79);out.560
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [12] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
## [23] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [34] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [45] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [56] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
## [67] TRUE TRUE TRUE TRUE TRUE TRUE
which(out.560==FALSE)
## [1] 22 66
summary(spectro$`spectro 720`)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.37 24.47 32.70 35.79 40.23 78.57
out.720<-c(spectro$`spectro 560`<78.57,spectro$`spectro 560`>16.37);out.720
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [12] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [23] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [34] TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [45] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [56] FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [67] FALSE FALSE FALSE FALSE FALSE FALSE
which(out.560==FALSE)
## [1] 22 66
#outliers multivariados##
library(mvoutlier)
## Loading required package: sgeostat
## Registered S3 methods overwritten by 'ggplot2':
## method from
## [.quosures rlang
## c.quosures rlang
## print.quosures rlang
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
## sROC 0.1-2 loaded
dd.plot(spectro)

## $outliers
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
## [23] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE TRUE
##
## $md.cla
## [1] 1.1249045 1.0458660 1.1141314 1.2937377 0.6739230 0.6454179 0.5249869
## [8] 0.5903212 0.2078185 0.2800764 0.3215502 3.5259197 0.2406374 0.3701974
## [15] 0.2748784 0.2409889 0.3005592 0.5011969 0.6899348 0.4461068 2.6765932
## [22] 3.2281757 2.4038830 3.4397905 0.7584894 0.9081834 0.8274852 0.8474762
## [29] 0.6314464 0.8331625 0.6354158 0.7292181 0.9381972 0.3499949 0.3806449
## [36] 2.8378643
##
## $md.rob
## [1] 1.3369289 1.0208330 1.3076952 1.4281252 0.5834060 0.4762481
## [7] 0.2517841 0.5324939 1.4512453 2.2684575 2.3303324 6.8607991
## [13] 0.4120536 0.5139826 0.7662602 0.4311198 1.4335799 1.0949177
## [19] 1.6189871 1.0946997 10.1913305 13.5806110 9.7325625 14.2265638
## [25] 0.5667288 0.8007864 0.6738303 0.8239685 0.9704592 1.4631704
## [31] 1.0958255 1.3130056 1.6204373 0.8616127 0.8471210 5.4837751
dd.plot(log(spectro[,c("spectro 560","spectro 720")]))

## $outliers
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
## [23] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE TRUE
##
## $md.cla
## [1] 1.5690912 1.3654315 1.5433512 1.9521822 0.6964139 0.6436726 0.4590960
## [8] 0.5697335 0.4354424 0.6464970 0.6809777 3.1294333 0.1620177 0.4330640
## [15] 0.1991147 0.1831651 0.4870029 0.5876140 1.1034839 0.5392800 2.3828753
## [22] 2.6914975 2.2638592 3.1119537 0.8371707 1.0963833 0.9528687 1.0255121
## [29] 0.8697064 1.3253600 0.9326498 1.1341246 1.0039330 0.4284916 0.4594077
## [36] 2.6716340
##
## $md.rob
## [1] 1.5606857 1.2198779 1.5241469 1.9201234 0.5106223 0.4111054 0.1619068
## [8] 0.4113103 1.0832439 1.4658801 1.5264742 3.9076567 0.4162463 0.5573430
## [15] 0.5385279 0.4416051 1.1051486 0.9925895 1.5015242 0.9763846 4.0680307
## [22] 4.6906859 3.9523972 5.4187259 0.6287937 0.9341250 0.7641978 0.9487306
## [29] 1.0565375 1.7606182 1.1881482 1.4933378 1.3508990 0.8085062 0.8095707
## [36] 3.3411980
xy <- spectro[,c("spectro 560","spectro 720")] # coordenadas
myspectro <- log(spectro[, c("spectro 560","spectro 720")])
out.spectro<-map.plot(xy, myspectro, symb=FALSE)

out.spectro$outliers
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
## [23] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE TRUE
which(out.spectro$outliers==TRUE)
## [1] 12 21 22 23 24 36
####Prueba hotelling###
library(ICSNP)
## Loading required package: mvtnorm
## Loading required package: ICS
t2spectro<-HotellingsT2(spectro, mu=c(14,40)); t2spectro
##
## Hotelling's one sample T2-test
##
## data: spectro
## T.2 = 4.0857, df1 = 2, df2 = 34, p-value = 0.02569
## alternative hypothesis: true location is not equal to c(14,40)
ifelse(t2spectro$p.value<0.05, "rechazo Ho", "no rechazo Ho")
## [1] "rechazo Ho"
###MANOVA##
g2<-gl(2,18,36,c("L1","L2"));g2
## [1] L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L1 L2 L2 L2 L2 L2
## [24] L2 L2 L2 L2 L2 L2 L2 L2 L2 L2 L2 L2 L2
## Levels: L1 L2
data<-data.frame(cbind(spectro,g2))
View(data)
y<-as.matrix(cbind(data$spectro.560,data$spectro.720))
g<-as.vector(data$g2)
manova(y~g)
## Call:
## manova(y ~ g)
##
## Terms:
## g Residuals
## resp 1 192.423 2920.472
## resp 2 573.523 8990.331
## Deg. of Freedom 1 34
##
## Residual standard errors: 9.268023 16.26104
## Estimated effects may be unbalanced