Geographic Information Systems Asked by Maarten Meijer on February 15, 2021
I want to use the spei() function in the SPEI package on a waterbalance dataset from 2015-2020 of 99 locations. The waterbalance is calculated out of MODIS PET values (8-day summed to monthly) and CHIRPS precipitation values (daily summed to monthly). MODIS PET returns NA’s for several weeks in the year, and because the water balance is cumulative I return every month containing NA’s as NA.
The input data thus is formatted as follows:
head(data)
year month_num AN01 AN02 AN03 AN04 AN05 AN06 AN07 AN08 AN09 AN10 AN11 AN12 AN13 AN14 AN15
1 2015 1 NA NA NA 140.6656 140.6656 140.6656 140.22344 140.22344 140.22344 140.6656 140.6656 140.6656 139.7125 139.7125 139.7125
2 2015 2 119.66563 119.66563 119.66563 121.3547 121.3547 121.3547 119.82969 119.82969 119.82969 121.3547 121.3547 121.3547 118.0609 118.0609 118.0609
3 2015 3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
4 2015 4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
5 2015 5 153.68281 153.68281 153.68281 153.4719 153.4719 153.4719 NA NA NA 153.4719 153.4719 153.4719 153.8500 153.8500 153.8500
6 2015 6 18.00313 18.00313 18.00313 NA NA NA 17.79688 17.79688 17.79688 NA NA NA 18.2000 18.2000 18.2000
CA01 CA02 CA03 CA04 CA05 CA06 CA07 CA08 CA09 CA10 CA11 CA12 CA13 CA14 CA15
1 NA NA NA NA NA NA NA NA NA 122.91406 122.91406 122.91406 NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA NA 81.07344 81.07344 81.07344
4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
5 110.16875 110.05156 110.05156 104.26406 104.26406 104.26406 110.14531 110.19219 110.19219 117.41250 117.41250 117.41250 117.30469 117.30469 117.30469
6 14.29219 14.18594 14.18594 13.42969 13.42969 13.42969 14.40312 14.42188 14.42188 19.60312 19.60312 19.60312 19.40469 19.40469 19.40469
CA16 CA17 CA18 CA19 CA20 CA21 CA22 CA23 CA24 CA25 CA26 CA27 CA28 CA29 CA30 NU01
1 121.86875 121.86875 121.86875 NA NA NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA 96.53281 96.53281 NA NA NA 92.86562
4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
5 117.31562 117.31562 117.31562 110.19375 110.19375 110.19375 110.10781 110.10781 110.10781 110.15625 110.20469 110.20469 117.14687 117.1125 117.1125 150.16406
6 19.52656 19.52656 19.52656 14.30937 14.30937 14.30937 14.29531 14.29531 14.29531 14.35469 14.36875 14.36875 19.27656 19.3000 19.3000 19.27656
NU02 NU03 NU04 NU05 NU06 NU10 NU11 NU12 NU13 NU14 NU15 NU16 NU17 NU18 NU19
1 NA NA NA NA NA NA NA NA NA NA NA 121.43906 121.43906 121.43906 NA
2 NA NA NA NA NA NA NA NA NA NA NA NA NA NA 103.69688
3 92.86562 92.86562 91.94844 91.94844 91.94844 NA NA NA 92.86562 92.86562 92.86562 NA NA NA 92.45312
4 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
5 150.16406 150.16406 150.05781 150.05781 150.05781 150.18750 150.18750 150.18750 150.16406 150.16406 150.16406 150.50156 150.50156 150.50156 150.14062
6 19.27656 19.27656 19.24687 19.24687 19.24687 19.40781 19.40781 19.40781 19.27656 19.27656 19.27656 19.67813 19.67813 19.67813 19.34219
NU20 NU21 NU22 NU23 NU24 NU25 NU26 NU27 PU01 PU02 PU03 PU04 PU05 PU06 PU07
1 NA NA NA NA NA 121.50938 121.50938 121.50938 NA NA NA NA NA NA 133.13594
2 103.69688 103.69688 101.83594 101.83594 101.83594 101.92656 101.92656 101.92656 NA NA NA NA NA NA 111.66719
3 92.45312 92.45312 92.87812 92.87812 92.87812 92.93281 92.93281 92.93281 NA 87.29688 87.29688 NA NA NA NA
4 NA NA NA NA NA 148.44375 148.44375 148.44375 NA NA NA NA NA NA 150.31250
5 150.14062 150.14062 150.27656 150.27656 150.27656 150.16563 150.16563 150.16563 113.30312 113.21875 113.21875 155.24844 155.24844 155.24844 NA
6 19.34219 19.34219 19.43750 19.43750 19.43750 19.40156 19.40156 19.40156 12.38281 12.37187 12.37187 24.44531 24.44531 24.44531 24.56719
PU08 PU09 PU10 PU11 PU12 PU13 PU14 PU15 PU16 PU17 PU18 PU19 PU20 PU21 PU22 PU23
1 133.13594 133.13594 NA NA NA NA NA NA NA NA NA 109.91250 NA 110.00781 132.42812 132.42812
2 111.66719 111.66719 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
4 150.31250 150.31250 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
5 NA NA 113.1641 113.1641 113.1641 113.08125 113.08125 113.08125 106.19062 155.17656 106.19062 106.11875 106.16875 106.10625 NA NA
6 24.56719 24.56719 12.4000 12.4000 12.4000 12.30625 12.30625 12.30625 10.29688 24.40938 10.29688 10.27656 10.31719 10.31406 24.49531 24.49531
PU24 PU25 PU26 PU27 PU28 PU29 PU30
1 132.42812 NA NA NA NA NA NA
2 NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA
5 NA 113.07812 NA NA 113.00625 113.00625 113.00625
6 24.49531 12.39844 12.35938 12.35938 12.39531 12.39531 12.39531
Now I want to calculate the SPEI for different timeframes (1,3,6,12), so I apply the SPEI function on my dataset, but when I for instance apply SPEI-1, I get:
> spei1all <- spei(data, 1, na.rm = TRUE)
> head(spei1all$fitted)
year month_num AN01 AN02 AN03 AN04 AN05 AN06 AN07 AN08 AN09 AN10 AN11 AN12 AN13 AN14 AN15 CA01 CA02
[1,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[5,] NA NA -0.04473888 -0.04473888 -0.04473888 NA NA NA NA NA NA NA NA NA -0.04556608 -0.04556608 -0.04556608 -0.1440235 -0.1437865
[6,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA 0.1270792 0.1252743
CA03 CA04 CA05 CA06 CA07 CA08 CA09 CA10 CA11 CA12 CA13 CA14 CA15
[1,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[5,] -0.1437865 -0.2131104 -0.2131104 -0.2131104 -0.1439872 -0.1443327 -0.1443327 -0.09725626 -0.09725626 -0.09725626 -0.09712531 -0.09712531 -0.09712531
[6,] 0.1252743 0.1821326 0.1821326 0.1821326 0.1347416 0.1379326 0.1379326 0.12373387 0.12373387 0.12373387 0.12174635 0.12174635 0.12174635
CA16 CA17 CA18 CA19 CA20 CA21 CA22 CA23 CA24 CA25 CA26 CA27 CA28 CA29
[1,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[5,] NA NA NA -0.1435276 -0.1435276 -0.1435276 -0.1433653 -0.1433653 -0.1433653 -0.1435422 -0.1427202 -0.1427202 -0.09792318 -0.0985231
[6,] 0.1241692 0.1241692 0.1241692 0.1258252 0.1258252 0.1258252 0.1325940 0.1325940 0.1325940 0.1315080 0.1344834 0.1344834 0.12496444 0.1167191
CA30 NU01 NU02 NU03 NU04 NU05 NU06 NU10 NU11 NU12 NU13 NU14 NU15 NU16 NU17 NU18 NU19
[1,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[5,] -0.0985231 NA NA NA -0.02117332 -0.02117332 -0.02117332 -0.02190537 -0.02190537 -0.02190537 NA NA NA NA NA NA -0.02135286
[6,] 0.1167191 NA NA NA 0.61505613 0.61505613 0.61505613 0.61339831 0.61339831 0.61339831 NA NA NA 0.6261692 0.6261692 0.6261692 NA
NU20 NU21 NU22 NU23 NU24 NU25 NU26 NU27 PU01 PU02 PU03 PU04 PU05 PU06 PU07
[1,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA 1.111417 1.111417 1.111417 NA NA NA NA NA NA NA
[5,] -0.02135286 -0.02135286 NA NA NA NA NA NA -0.004715343 NA NA 0.1010535 0.1010535 0.1010535 NA
[6,] NA NA 0.6152473 0.6152473 0.6152473 NA NA NA 0.701645612 0.7026218 0.7026218 NA NA NA 0.7763708
PU08 PU09 PU10 PU11 PU12 PU13 PU14 PU15 PU16 PU17 PU18 PU19 PU20
[1,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA NA NA NA
[5,] NA NA -0.005900812 -0.005900812 -0.005900812 -0.005597071 -0.005597071 -0.005597071 NA 0.1011388 NA -0.1207526 -0.1210379
[6,] 0.7763708 0.7763708 0.702357629 0.702357629 0.702357629 0.700751150 0.700751150 0.700751150 0.3631265 0.7692896 0.3631265 0.3722869 NA
PU21 PU22 PU23 PU24 PU25 PU26 PU27 PU28 PU29 PU30
[1,] NA NA NA NA NA NA NA NA NA NA
[2,] NA NA NA NA NA NA NA NA NA NA
[3,] NA NA NA NA NA NA NA NA NA NA
[4,] NA NA NA NA NA NA NA NA NA NA
[5,] -0.1216638 NA NA NA -0.004863862 NA NA -0.007700107 -0.007700107 -0.007700107
[6,] 0.3728449 NA NA NA NA 0.6935715 0.6935715 0.699429193 0.699429193 0.699429193
Even though I apply na.rm = TRUE
the SPEI returns NA’s or values at unexpected places. It seems like there is something wrong with how I format my dataframe?
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP