library(SOCDRaH2)
library(ggplot2)
dataDir <- '~/Documents/Datasets/ISCN'
knitr::opts_chunk$set(eval=FALSE)
library(SOCDRaH2)

dataDir <- 'Your/Data/Dir'
keys.ls <- makeKeys()
#ISCN.ls <- ISCN3(dataDir=dataDir, orginalFormat = FALSE)
#ISCN.ls <- ISCN4(dataDir = dataDir, onlyNewData = FALSE)
ISCN.ls <- ISCN5(dataDir = dataDir, orginalFormat = FALSE, newDataOnly = FALSE)

General variables

lapply(ISCN.ls, names)

knitr::kable(keys.ls$ISCN[order(variable),][order(table),])

Bulk Density

organic_carbon.dt <- ISCN.ls$layer[variable %in% c("oc", "loi", 'soc')]

##duplicate entries: merge(bulkDensity.df, bulkDensity.df[,.N, by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable, type)][N>1][type =='value_num'], all.y=TRUE)
##Filter out duplicate entries
doubleValueEntries <- organic_carbon.dt[type =='value_num', .N,
                                by=.(dataset_name_id, profile_name_id, site_name_id, 
                                     layer_name_id, variable, type)][N>1]

singleValueEntries <- organic_carbon.dt[type =='value_num', .N,
                                by=.(dataset_name_id, profile_name_id, site_name_id, 
                                     layer_name_id, variable, type)][N==1]

#unique(bulkDensity.df$type) 
organicCarbon_value.dt <- merge(organic_carbon.dt, singleValueEntries,  all.y=TRUE)[, 
                                    .(value = as.numeric(entry)),
                                    by=.(dataset_name_id, profile_name_id, site_name_id, 
                                         layer_name_id, variable)]

organicCarbon_method.dt <- ISCN.ls$layer[variable %in% c("oc", "loi") & type == 'method', 
                .(entry = paste0(header, ": ", entry, collapse = ';')), 
                 # header = paste0(header, collapse = '; '),
                #  N = length(type)), 
                by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable)]

OC.dt <- merge(organicCarbon_value.dt, organicCarbon_method.dt, 
                        by=c('dataset_name_id', 'profile_name_id', 'site_name_id', 'layer_name_id', 'variable'), all.x=TRUE)
ggplot(OC.dt[value >= 0 & value < 100], aes(x=value)) +
  geom_histogram() +
  facet_wrap(~variable, scales='free')

ggplot(OC.dt[value >= 0 & value < 25], aes(x=value)) +
  geom_histogram() +
  facet_wrap(~variable, scales='free')

Bulk Density

bulkDensity.df <- ISCN.ls$layer[variable %in% c("bulk_density_other", "bulk_density_sample", 
                                             "bulk_density_total", "bulk_density_whole" )]

##duplicate entries: merge(bulkDensity.df, bulkDensity.df[,.N, by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable, type)][N>1][type =='value_num'], all.y=TRUE)
##Filter out duplicate entries
singleValueEntries <- bulkDensity.df[type =='value_num', .N,
                                by=.(dataset_name_id, profile_name_id, site_name_id, 
                                     layer_name_id, variable, type)][N==1]

#unique(bulkDensity.df$type) 
bulkDensity_value.df <- merge(bulkDensity.df, singleValueEntries,  all.y=TRUE)[, .(value = as.numeric(entry)),
                                    by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable)]

bulkDensity_method.dt <- ISCN.ls$layer[variable %in% c("bulk_density_other", "bulk_density_sample", 
                                             "bulk_density_total", "bulk_density_whole" ) & type == 'method', 
                .(entry = paste0(header, ": ", entry, collapse = ';')), 
                 # header = paste0(header, collapse = '; '),
                #  N = length(type)), 
                by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable)]

bulkDensity.dt <- merge(bulkDensity_value.df, bulkDensity_method.dt, 
                        by=c('dataset_name_id', 'profile_name_id', 'site_name_id', 'layer_name_id', 'variable'), all.x=TRUE)
ggplot(bulkDensity.dt[(value > 0 & value < 3)], aes(x=value)) +
  geom_histogram() +
  facet_wrap(~variable, scales = 'free_y')

Coarse fraction

coarseFraction.df <- ISCN.ls$layer[variable %in% c("wpg2" )]

##duplicate entries: merge(coarseFraction.df, coarseFraction.df[,.N, by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable, type)][N>1][type =='value_num'], all.y=TRUE)
##Filter out duplicate entries
singleValueEntries <- coarseFraction.df[type =='value_num', .N,
                                by=.(dataset_name_id, profile_name_id, site_name_id, 
                                     layer_name_id, variable, type)][N==1]

#unique(coarseFraction.df$type) 
coarseFraction_value.df <- merge(coarseFraction.df, singleValueEntries,  
                                 all.y=TRUE)[, .(value = as.numeric(entry)),
                                    by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable)]

coarseFraction_method.dt <- ISCN.ls$layer[variable %in% c("wpg2" ) & type == 'method', 
                .(entry = paste0(header, ": ", entry, collapse = ';')), 
                 # header = paste0(header, collapse = '; '),
                #  N = length(type)), 
                by=.(dataset_name_id, profile_name_id, site_name_id, layer_name_id, variable)]

coarseFraction.dt <- merge(coarseFraction_value.df, coarseFraction_method.dt, 
                        by=c('dataset_name_id', 'profile_name_id', 'site_name_id', 'layer_name_id', 'variable'), all.x=TRUE)
ggplot(coarseFraction.dt[(value > 0 & value < 100)], aes(x=value)) +
  geom_histogram() +
  facet_wrap(~variable, scales = 'free_y')

Citations and bibliography

ISCN.ls$study <- ISCN.ls$study[!is.na(entry)]

knitr::kable(ISCN.ls$study[variable %in% c('reference', 'acknowledgement', 'citation'), 
                           .(entry = paste0(entry, collapse='\n\t\t', entry)),
                           by=dataset_name_id])


ISCN/SOCDRaHR2 documentation built on May 26, 2023, 6:44 a.m.