library(readxl)
spectro <- read_excel("C:/Users/intyc/Desktop/D. Experimental/spectro.xlsx", 
    sheet = "Hoja1")
head(spectro)
## # A tibble: 6 x 19
##   tratam   rep bloque  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI     DDI TCARI2
##    <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>   <dbl>  <dbl>
## 1      1     1      1 1553.  513. 2067. 0.631 0.843 0.127  0.204 -0.188    1.08
## 2      1     1      1 1753.  562. 2315. 0.631 0.744 0.230  0.302 -0.0920   1.16
## 3      1     1      1 1130.  349. 1479. 0.631 0.817 0.128  0.189 -0.156    1.08
## 4      1     1      1  836.  275. 1112. 0.631 0.858 0.0850 0.143 -0.187    1.05
## 5      1     1      1  982.  296. 1278. 0.631 0.854 0.101  0.162 -0.200    1.06
## 6      1     1      1  848.  252. 1101. 0.631 0.803 0.0836 0.129 -0.0988   1.06
## # ... with 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>, NDRE1 <dbl>,
## #   NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyverse) 
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.5     v stringr 1.4.0
## v tidyr   1.1.4     v forcats 0.5.1
## v readr   2.0.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()
library(magrittr)
## 
## Attaching package: 'magrittr'
## The following object is masked from 'package:purrr':
## 
##     set_names
## The following object is masked from 'package:tidyr':
## 
##     extract
16 %>% sqrt
## [1] 4
sqrt(16)
## [1] 4
16 %>% sqrt %>% + 18
## [1] 22
sqrt(16) + 18
## [1] 22
mean((spectro$Chla))
## [1] 3038.431
spectro %>%summarise(mean(Chla))
## # A tibble: 1 x 1
##   `mean(Chla)`
##          <dbl>
## 1        3038.
spectro %>%
  group_by(tratam) %>%
  summarise(mean(Chla))
## # A tibble: 4 x 2
##   tratam `mean(Chla)`
##    <dbl>        <dbl>
## 1      1        1467.
## 2      2        3393.
## 3      3        3476.
## 4      4        3819.
spectro %>%
  filter(tratam == 1) %>%
  group_by(bloque) %>%
  summarise(mean(Chla))
## # A tibble: 4 x 2
##   bloque `mean(Chla)`
##    <dbl>        <dbl>
## 1      1        1233.
## 2      2        1171.
## 3      3        1665.
## 4      4        1798.
tablaresumen <- spectro %>% 
                group_by(tratam) %>%
                summarise(media_cloroA = mean(Chla), var.Chla = var(Chla), n_obs = n())
                
tablaresumen
## # A tibble: 4 x 4
##   tratam media_cloroA var.Chla n_obs
##    <dbl>        <dbl>    <dbl> <int>
## 1      1        1467.  216893.    48
## 2      2        3393.  280015.    48
## 3      3        3476.  176357.    48
## 4      4        3819.  498603.    48

dos funciones con pipes

spectro %>% summarise(media_cloroA = mean(Chla), media_cloroB = mean(Chlb))
## # A tibble: 1 x 2
##   media_cloroA media_cloroB
##          <dbl>        <dbl>
## 1        3038.        1079.
plot(x = c(1,2), y = c(4,5))

## variable filtrada con un rango usando & o and

tablaresumen_2 <- tablaresumen %>%
                filter(media_cloroA > 2000 & media_cloroA < 3400)
tablaresumen_2
## # A tibble: 1 x 4
##   tratam media_cloroA var.Chla n_obs
##    <dbl>        <dbl>    <dbl> <int>
## 1      2        3393.  280015.    48

filtra una variable con rango establecido con ori( en mi teclado no funciono la linea vertical)

tablaresumen_3 <- tablaresumen %>%
                filter(media_cloroA > 2000 | media_cloroA < 3400)
tablaresumen_3
## # A tibble: 4 x 4
##   tratam media_cloroA var.Chla n_obs
##    <dbl>        <dbl>    <dbl> <int>
## 1      1        1467.  216893.    48
## 2      2        3393.  280015.    48
## 3      3        3476.  176357.    48
## 4      4        3819.  498603.    48

signo de exclamacion ! sirve para negar, negamos todos los NA, osea datos faltantes

spectro %>%
  filter(!is.na(spectro)) %>%
  group_by(tratam, bloque) %>% 
  summarise(med.Chla = mean(Chla,na.rm=TRUE), var.Chla=var(Chla,na.rm=TRUE),n_obs = n()) %>%
  filter(n_obs > 10)
## `summarise()` has grouped output by 'tratam'. You can override using the `.groups` argument.
## # A tibble: 16 x 5
## # Groups:   tratam [4]
##    tratam bloque med.Chla var.Chla n_obs
##     <dbl>  <dbl>    <dbl>    <dbl> <int>
##  1      1      1    1233.  190590.    12
##  2      1      2    1171.  148222.    12
##  3      1      3    1665.  107720.    12
##  4      1      4    1798.  162357.    12
##  5      2      1    3723.  502636.    12
##  6      2      2    3205.  114358.    12
##  7      2      3    3282.  221487.    12
##  8      2      4    3361.  186032.    12
##  9      3      1    3230.  159673.    12
## 10      3      2    3603.  277044.    12
## 11      3      3    3390.   94065.    12
## 12      3      4    3680.   85838.    12
## 13      4      1    3521.  156090.    12
## 14      4      2    4155.  849173.    12
## 15      4      3    3564.  626807.    12
## 16      4      4    4035.  156323.    12

filtrado tradicional

filter(spectro, bloque == 1)
## # A tibble: 48 x 19
##    tratam   rep bloque  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI     DDI TCARI2
##     <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>   <dbl>  <dbl>
##  1      1     1      1 1553.  513. 2067. 0.631 0.843 0.127  0.204 -0.188    1.08
##  2      1     1      1 1753.  562. 2315. 0.631 0.744 0.230  0.302 -0.0920   1.16
##  3      1     1      1 1130.  349. 1479. 0.631 0.817 0.128  0.189 -0.156    1.08
##  4      1     1      1  836.  275. 1112. 0.631 0.858 0.0850 0.143 -0.187    1.05
##  5      1     1      1  982.  296. 1278. 0.631 0.854 0.101  0.162 -0.200    1.06
##  6      1     1      1  848.  252. 1101. 0.631 0.803 0.0836 0.129 -0.0988   1.06
##  7      1     1      1  488.  128.  617. 0.631 0.692 0.104  0.143 -0.0189   1.08
##  8      1     1      1  904.  273. 1178. 0.631 0.718 0.134  0.179 -0.0430   1.10
##  9      1     1      1 1221.  403. 1624. 0.631 0.711 0.155  0.198 -0.0425   1.12
## 10      1     1      1 1679.  582. 2261. 0.631 0.727 0.217  0.280 -0.0725   1.16
## # ... with 38 more rows, and 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>,
## #   NDRE1 <dbl>, NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>

filtado con pipes

spectro %>% filter(bloque == 1)
## # A tibble: 48 x 19
##    tratam   rep bloque  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI     DDI TCARI2
##     <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>   <dbl>  <dbl>
##  1      1     1      1 1553.  513. 2067. 0.631 0.843 0.127  0.204 -0.188    1.08
##  2      1     1      1 1753.  562. 2315. 0.631 0.744 0.230  0.302 -0.0920   1.16
##  3      1     1      1 1130.  349. 1479. 0.631 0.817 0.128  0.189 -0.156    1.08
##  4      1     1      1  836.  275. 1112. 0.631 0.858 0.0850 0.143 -0.187    1.05
##  5      1     1      1  982.  296. 1278. 0.631 0.854 0.101  0.162 -0.200    1.06
##  6      1     1      1  848.  252. 1101. 0.631 0.803 0.0836 0.129 -0.0988   1.06
##  7      1     1      1  488.  128.  617. 0.631 0.692 0.104  0.143 -0.0189   1.08
##  8      1     1      1  904.  273. 1178. 0.631 0.718 0.134  0.179 -0.0430   1.10
##  9      1     1      1 1221.  403. 1624. 0.631 0.711 0.155  0.198 -0.0425   1.12
## 10      1     1      1 1679.  582. 2261. 0.631 0.727 0.217  0.280 -0.0725   1.16
## # ... with 38 more rows, and 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>,
## #   NDRE1 <dbl>, NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>

#filtrado con resticciones, ponemos la restriccion por cualquier criterio, eliminamos tratos, 2 y 4

spectro %>% filter(tratam %in% seq(1, 3))
## # A tibble: 144 x 19
##    tratam   rep bloque  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI     DDI TCARI2
##     <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>   <dbl>  <dbl>
##  1      1     1      1 1553.  513. 2067. 0.631 0.843 0.127  0.204 -0.188    1.08
##  2      1     1      1 1753.  562. 2315. 0.631 0.744 0.230  0.302 -0.0920   1.16
##  3      1     1      1 1130.  349. 1479. 0.631 0.817 0.128  0.189 -0.156    1.08
##  4      1     1      1  836.  275. 1112. 0.631 0.858 0.0850 0.143 -0.187    1.05
##  5      1     1      1  982.  296. 1278. 0.631 0.854 0.101  0.162 -0.200    1.06
##  6      1     1      1  848.  252. 1101. 0.631 0.803 0.0836 0.129 -0.0988   1.06
##  7      1     1      1  488.  128.  617. 0.631 0.692 0.104  0.143 -0.0189   1.08
##  8      1     1      1  904.  273. 1178. 0.631 0.718 0.134  0.179 -0.0430   1.10
##  9      1     1      1 1221.  403. 1624. 0.631 0.711 0.155  0.198 -0.0425   1.12
## 10      1     1      1 1679.  582. 2261. 0.631 0.727 0.217  0.280 -0.0725   1.16
## # ... with 134 more rows, and 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>,
## #   NDRE1 <dbl>, NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>

#filtrado entre columnas trato 3

spectro %>% filter(between(tratam, 3, 4))
## # A tibble: 96 x 19
##    tratam   rep bloque  Chla  Chlb  ChlT     N   RES NDVI2 GNDVI   DDI TCARI2
##     <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl>
##  1      3     1      2 3132. 1210. 4343.  2.06 0.478 0.529 0.598 0.212   1.57
##  2      3     1      2 3236. 1090. 4325.  2.06 0.492 0.508 0.588 0.193   1.53
##  3      3     1      2 3600. 1343. 4943.  2.06 0.502 0.510 0.592 0.182   1.53
##  4      3     1      2 3986. 1480. 5465.  2.06 0.483 0.519 0.599 0.190   1.56
##  5      3     1      2 3817. 1417. 5234.  2.06 0.502 0.528 0.613 0.197   1.54
##  6      3     1      2 3178. 1121. 4299.  2.06 0.490 0.482 0.550 0.190   1.51
##  7      3     1      2 4469. 1545. 6014.  2.06 0.451 0.555 0.645 0.248   1.64
##  8      3     1      2 3538. 1252. 4791.  2.06 0.526 0.519 0.608 0.176   1.52
##  9      3     1      2 3156. 1004. 4160.  2.06 0.525 0.470 0.547 0.159   1.47
## 10      3     1      2 4306. 1645. 5951.  2.06 0.443 0.565 0.639 0.256   1.66
## # ... with 86 more rows, and 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>,
## #   NDRE1 <dbl>, NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>
spectro %>% filter(bloque %in% c(1,2,4))
## # A tibble: 144 x 19
##    tratam   rep bloque  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI     DDI TCARI2
##     <dbl> <dbl>  <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>   <dbl>  <dbl>
##  1      1     1      1 1553.  513. 2067. 0.631 0.843 0.127  0.204 -0.188    1.08
##  2      1     1      1 1753.  562. 2315. 0.631 0.744 0.230  0.302 -0.0920   1.16
##  3      1     1      1 1130.  349. 1479. 0.631 0.817 0.128  0.189 -0.156    1.08
##  4      1     1      1  836.  275. 1112. 0.631 0.858 0.0850 0.143 -0.187    1.05
##  5      1     1      1  982.  296. 1278. 0.631 0.854 0.101  0.162 -0.200    1.06
##  6      1     1      1  848.  252. 1101. 0.631 0.803 0.0836 0.129 -0.0988   1.06
##  7      1     1      1  488.  128.  617. 0.631 0.692 0.104  0.143 -0.0189   1.08
##  8      1     1      1  904.  273. 1178. 0.631 0.718 0.134  0.179 -0.0430   1.10
##  9      1     1      1 1221.  403. 1624. 0.631 0.711 0.155  0.198 -0.0425   1.12
## 10      1     1      1 1679.  582. 2261. 0.631 0.727 0.217  0.280 -0.0725   1.16
## # ... with 134 more rows, and 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>,
## #   NDRE1 <dbl>, NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>

selecciono las que quiero

spectro %>% select(tratam, bloque, Chla)
## # A tibble: 192 x 3
##    tratam bloque  Chla
##     <dbl>  <dbl> <dbl>
##  1      1      1 1553.
##  2      1      1 1753.
##  3      1      1 1130.
##  4      1      1  836.
##  5      1      1  982.
##  6      1      1  848.
##  7      1      1  488.
##  8      1      1  904.
##  9      1      1 1221.
## 10      1      1 1679.
## # ... with 182 more rows

elimino columnas menos las que le pongo -

spectro %>% select(-bloque, -rep)
## # A tibble: 192 x 17
##    tratam  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI     DDI TCARI2 TCARI6
##     <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>   <dbl>  <dbl>  <dbl>
##  1      1 1553.  513. 2067. 0.631 0.843 0.127  0.204 -0.188    1.08   1.29
##  2      1 1753.  562. 2315. 0.631 0.744 0.230  0.302 -0.0920   1.16   1.60
##  3      1 1130.  349. 1479. 0.631 0.817 0.128  0.189 -0.156    1.08   1.29
##  4      1  836.  275. 1112. 0.631 0.858 0.0850 0.143 -0.187    1.05   1.19
##  5      1  982.  296. 1278. 0.631 0.854 0.101  0.162 -0.200    1.06   1.23
##  6      1  848.  252. 1101. 0.631 0.803 0.0836 0.129 -0.0988   1.06   1.18
##  7      1  488.  128.  617. 0.631 0.692 0.104  0.143 -0.0189   1.08   1.23
##  8      1  904.  273. 1178. 0.631 0.718 0.134  0.179 -0.0430   1.10   1.31
##  9      1 1221.  403. 1624. 0.631 0.711 0.155  0.198 -0.0425   1.12   1.37
## 10      1 1679.  582. 2261. 0.631 0.727 0.217  0.280 -0.0725   1.16   1.56
## # ... with 182 more rows, and 6 more variables: TCARI9 <dbl>, NDRE1 <dbl>,
## #   NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>

rotulo de columnas para nombrar mejor los datos

spectro %>% select(tratam, ClorofilaA = Chla, ClorofilaB = Chlb)
## # A tibble: 192 x 3
##    tratam ClorofilaA ClorofilaB
##     <dbl>      <dbl>      <dbl>
##  1      1      1553.       513.
##  2      1      1753.       562.
##  3      1      1130.       349.
##  4      1       836.       275.
##  5      1       982.       296.
##  6      1       848.       252.
##  7      1       488.       128.
##  8      1       904.       273.
##  9      1      1221.       403.
## 10      1      1679.       582.
## # ... with 182 more rows

funcion everething organiza , recordar que primero se pone el argumento luego la funcion

spectro %>% select(tratam, bloque, DDI, everything())
## # A tibble: 192 x 19
##    tratam bloque     DDI   rep  Chla  Chlb  ChlT     N   RES  NDVI2 GNDVI TCARI2
##     <dbl>  <dbl>   <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>  <dbl> <dbl>  <dbl>
##  1      1      1 -0.188      1 1553.  513. 2067. 0.631 0.843 0.127  0.204   1.08
##  2      1      1 -0.0920     1 1753.  562. 2315. 0.631 0.744 0.230  0.302   1.16
##  3      1      1 -0.156      1 1130.  349. 1479. 0.631 0.817 0.128  0.189   1.08
##  4      1      1 -0.187      1  836.  275. 1112. 0.631 0.858 0.0850 0.143   1.05
##  5      1      1 -0.200      1  982.  296. 1278. 0.631 0.854 0.101  0.162   1.06
##  6      1      1 -0.0988     1  848.  252. 1101. 0.631 0.803 0.0836 0.129   1.06
##  7      1      1 -0.0189     1  488.  128.  617. 0.631 0.692 0.104  0.143   1.08
##  8      1      1 -0.0430     1  904.  273. 1178. 0.631 0.718 0.134  0.179   1.10
##  9      1      1 -0.0425     1 1221.  403. 1624. 0.631 0.711 0.155  0.198   1.12
## 10      1      1 -0.0725     1 1679.  582. 2261. 0.631 0.727 0.217  0.280   1.16
## # ... with 182 more rows, and 7 more variables: TCARI6 <dbl>, TCARI9 <dbl>,
## #   NDRE1 <dbl>, NDRE2 <dbl>, mSR <dbl>, DSR2 <dbl>, BND <dbl>

variables que comiencen por c

spectro %>% select(starts_with("C"))
## # A tibble: 192 x 3
##     Chla  Chlb  ChlT
##    <dbl> <dbl> <dbl>
##  1 1553.  513. 2067.
##  2 1753.  562. 2315.
##  3 1130.  349. 1479.
##  4  836.  275. 1112.
##  5  982.  296. 1278.
##  6  848.  252. 1101.
##  7  488.  128.  617.
##  8  904.  273. 1178.
##  9 1221.  403. 1624.
## 10 1679.  582. 2261.
## # ... with 182 more rows
spectro %>% select(tratam, bloque, contains("Ch"))
## # A tibble: 192 x 5
##    tratam bloque  Chla  Chlb  ChlT
##     <dbl>  <dbl> <dbl> <dbl> <dbl>
##  1      1      1 1553.  513. 2067.
##  2      1      1 1753.  562. 2315.
##  3      1      1 1130.  349. 1479.
##  4      1      1  836.  275. 1112.
##  5      1      1  982.  296. 1278.
##  6      1      1  848.  252. 1101.
##  7      1      1  488.  128.  617.
##  8      1      1  904.  273. 1178.
##  9      1      1 1221.  403. 1624.
## 10      1      1 1679.  582. 2261.
## # ... with 182 more rows
spectro %>% select(tratam, bloque, contains("Ch"))
## # A tibble: 192 x 5
##    tratam bloque  Chla  Chlb  ChlT
##     <dbl>  <dbl> <dbl> <dbl> <dbl>
##  1      1      1 1553.  513. 2067.
##  2      1      1 1753.  562. 2315.
##  3      1      1 1130.  349. 1479.
##  4      1      1  836.  275. 1112.
##  5      1      1  982.  296. 1278.
##  6      1      1  848.  252. 1101.
##  7      1      1  488.  128.  617.
##  8      1      1  904.  273. 1178.
##  9      1      1 1221.  403. 1624.
## 10      1      1 1679.  582. 2261.
## # ... with 182 more rows
spectro %>% select(N)
## # A tibble: 192 x 1
##        N
##    <dbl>
##  1 0.631
##  2 0.631
##  3 0.631
##  4 0.631
##  5 0.631
##  6 0.631
##  7 0.631
##  8 0.631
##  9 0.631
## 10 0.631
## # ... with 182 more rows

jalar datos

GNDVI <- spectro %>% pull(GNDVI)

luego selescciono el dato y aparece

GNDVI[122]
## [1] 0.6174512