R/clean_viirs_for_towns.R

Defines functions poly_id_unlist_function

# this script is to read in the exported data for night-time lights
# from towns from GEE
# and process and clean it up
# and then save as an RDS

# packages
library(readr)
library(dplyr)
library(tidyr)
library(sf)
library(rapportools)

iNat_viirs_in_towns <- read_csv("data/iNat_viirs_in_towns.csv") %>%
  dplyr::select(-"system:index") %>%
  dplyr::select(-".geo") %>%
  mutate(list=gsub("\\[|\\]", "", .$list))

test <- iNat_viirs_in_towns %>%
  mutate(idk=as.list(strsplit(list, ",")[[1]]))


poly_id_unlist_function <- function(x){
  
  dat <- iNat_viirs_in_towns %>%
    dplyr::filter(poly_id == x)
  
  values <- dat$list
  
  vector <- if(is.empty(values)==TRUE) {
    data.frame(viirs_values=NA,
               poly_id=x)} else { 
                 data.frame(viirs_values=unlist(as.list(strsplit(values, ",")[[1]])),
                            poly_id=x)
               }
    
  return(vector)
  
}

poly_id_unlist_function(1)
poly_id_unlist_function(6)



# apply the function over all possible 'poly_id' values
# and turn into a dataframe
viirs_lights_towns <- bind_rows(lapply(unique(iNat_viirs_in_towns$poly_id), poly_id_unlist_function))

viirs_lights_towns.2 <- viirs_lights_towns %>%
  left_join(., iNat_viirs_in_towns %>%
              dplyr::select(-list)) %>%
  mutate(viirs_values=as.numeric(as.character(viirs_values)))

saveRDS(viirs_lights_towns.2, "data/viirs_lights_towns.RDS")
iozeroff/cncpointR documentation built on Feb. 4, 2020, 6:18 p.m.