# load data in 'global' chunk so it can be shared by all users of the dashboard
library(shiny)
library(semantic.dashboard)
library(ggplot2)
library(plotly)
library(DT)

suppressMessages(library(rgbif))
suppressMessages(library(sp))
suppressMessages(library(spatialEco))
suppressMessages(library(ggmap))
suppressMessages(library(plyr))
suppressMessages(library(htmlTable))
suppressMessages(library(bdvis))
suppressMessages(library(plotly))
suppressMessages(library(pracma))
suppressMessages(library(xtable))
suppressMessages(library(htmlTable))
suppressMessages(library(taxize))


suppressMessages(library(rgbif))
suppressMessages(library(sp))
suppressMessages(library(spatialEco))
suppressMessages(library(ggmap))
suppressMessages(library(plyr))
suppressMessages(library(htmlTable))
suppressMessages(library(bdvis))
suppressMessages(library(plotly))
suppressMessages(library(pracma))
suppressMessages(library(xtable))
suppressMessages(library(htmlTable))
# d1 <- occ_data(
#   country = "AU",     # Country code for australia
#   classKey= 359,      # Class code for mammalia
#   limit=1000,
#   hasCoordinate = T
#   
# )
# 
# # d1$data$taxonRank[20]<-NA
# # d1$data$taxonRank[40]<-NA
# # d1$data$taxonRank[100]<-NA
# # d1$data$taxonRank[150]<-NA
# X<-d1$data
# 
# 
colscale <- c(semantic_palette[["red"]], semantic_palette[["green"]], semantic_palette[["blue"]])

Taxonomic Filtering

Inputs {.sidebar}

BIODIVERSITY DATA INPUT

textInput("countryCode", label=h3("CountryCode"), value = "AU",  placeholder = "Enter the country code for example AU for Australia")
numericInput("classID", label = h3("ClassID"),value = 359, min = 10, max = 1000)
numericInput("obs", label = h3("Number of Observations"),value = 1000, min = 100, max = 10000)
selectCountry<-reactive({

     num<-reactive(input$countryCode)
     return(num())

})
selectClassID<-reactive({

     num<-reactive(input$classID)
     return(num())

})
selectObservations<-reactive({

     num<-reactive(input$obs)
     return(num())

})
DATA<-reactive({

  d1 <- occ_data(
  country = selectCountry(),     # Country code for australia
  classKey= selectClassID(),      # Class code for mammalia
  limit=selectObservations(),
  hasCoordinate = T

)

# d1$data$taxonRank[20]<-NA
# d1$data$taxonRank[40]<-NA
# d1$data$taxonRank[100]<-NA
# d1$data$taxonRank[150]<-NA
return(X<-d1$data)

})

BIODIVERSITY DATA VISUALIZATION

 selectInput("clusterNum", label = h3("Taxonomic Level"), 
    choices = list( "KINGDOM" = "KINGDOM", "PHYLUM" = "PHYLUM", "CLASS" = "CLASS", "ORDER" = "ORDER","FAMILY" = "FAMILY","GENUS"="GENUS","SPECIES"="SPECIES","SUBSPECIES"="SUBSPECIES"), 
    selected = "GENUS")

Plotting the data based on taxon rank. Default data used is Australian Mammals.

#
selectedData <- reactive({

  #X<-subset(X,select=c(eventDate,month,year))
  X<-DATA()
  num <- reactive((input$clusterNum))
  data_taxon<-subset(X,X$taxonRank==num())
  return(data_taxon)

})
#
selectedColumn <- reactive({

  #X<-subset(X,select=c(eventDate,month,year))
  X<-DATA()
  num <- reactive((input$clusterNum))
  #num1<-num()
  #col_num
  col_num<-which( colnames(X)==(tolower(num())))
  return(col_num)

})

Column {.tabset}

Bar-plot

library(ggplot2)

  renderPlot({
    #X1<-selectedData()
    X<-DATA()
    ggplot(X, aes(X$taxonRank)) +geom_bar(fill = semantic_palette[["green"]])+ labs(y="Count", x =        "Taxonomic Level")
    #c_2<-ddply(selectedData(),~year,summarise,frequency=length((year)))
    #ggplot(c_2, aes(x=year,y=frequency)) + geom_bar(stat="identity")


  })

Pie_Chart

library(ggplot2)

renderPlotly({
  X2<-selectedData()
  var<-selectedColumn()
  #X3<-X2[!is.na(X2$var),]
  if(var>0){
  dat<-X2[,var]
  Z<-count(X2[,var])
  plot_ly(Z, labels = Z[,1],values=~freq, type = 'pie',
             textposition = 'inside',
             textinfo = 'label+percent',
             insidetextfont = list(color = '#FFFFFF'),
             hoverinfo = 'text')
  }else{
    NULL
  }
})

Choronorogram

library(bdvis)

  renderPlot({
    data_bdvis<-selectedData()
    data_bdvis<-subset(data_bdvis,select=c(eventDate,month,year))
    if(nrow(data_bdvis)==0){
      NULL
    }else{
    names(data_bdvis)[names(data_bdvis) == "eventDate"] <- "Date_collected"
    chronohorogram(data_bdvis)
    }


  })

Tempolar

library(bdvis)

renderPlot({
   data_tempolar<-selectedData()
   data_tempolar<-subset(data_tempolar,select=c(eventDate,month,year))
   if(nrow(data_tempolar)==0){
     NULL
   }else{
    names(data_tempolar)[names(data_tempolar) == "eventDate"] <- "Date_collected"
    tempolar(data_tempolar,timescale = "m",plottype = "r")
   }

})

Taxonomic-Tree

library(bdvis)

renderPlot({
   data_taxotree<-selectedData()
   data_taxotree<-subset(data_taxotree,select=c(family,genus))
   data_taxotree_na<-na.omit(data_taxotree)
   if(nrow(data_taxotree_na)==0 || ncol(data_taxotree_na)<2){
     NULL
   }else{
    names(data_taxotree)[names(data_taxotree) == "family"] <- "Family"
    names(data_taxotree)[names(data_taxotree) == "genus"] <- "Genus"
    taxotree(data_taxotree)
   }

})


bd-R/bdtools documentation built on Dec. 26, 2019, 7:49 a.m.