{"cells":[{"metadata":{},"cell_type":"markdown","source":"Importing Libraries"},{"metadata":{"_uuid":"051d70d956493feee0c6d64651c6a088724dca2a","_execution_state":"idle","trusted":true},"cell_type":"code","source":"# Importing Libraries -----------------------------------------------------\n\nlibrary(flexdashboard)\nlibrary(readr)\nlibrary(highcharter)\nlibrary(bigmemory)\nlibrary(ff)\nlibrary(ffbase)\nlibrary(ggplot2)\nlibrary(grid)\nlibrary(dplyr)\nlibrary(tidyr)\nlibrary(tidyverse)\nlibrary(lubridate)\nlibrary(htmltools)\nlibrary(dygraphs)\nlibrary(sp)\nlibrary(xts)\nlibrary(rgdal)\nlibrary(countrycode)\nlibrary(RColorBrewer)\nlibrary(plotly)\nlibrary(sf)    \nlibrary(mapview)    \nlibrary(leaflet)\nlibrary(conflicted)\nlibrary(crosstalk)\nlibrary(gapminder)\nconflict_prefer(\"filter\", \"dplyr\")\nconflict_prefer(\"addLegend\", \"leaflet\")\nconflict_prefer(\"layout\", \"plotly\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Importing the Data"},{"metadata":{"trusted":true},"cell_type":"code","source":"# Importing the Data ------------------------------------------\n\n#Cities\nciti_disc_2018 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Cities/Cities Disclosing/2018_Cities_Disclosing_to_CDP.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\nciti_disc_2019 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Cities/Cities Disclosing/2019_Cities_Disclosing_to_CDP.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\nciti_disc_2020 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Cities/Cities Disclosing/2020_Cities_Disclosing_to_CDP.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\n\nciti_resp_2018.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Cities/Cities Responses/2018_Full_Cities_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\nciti_resp_2019.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Cities/Cities Responses/2019_Full_Cities_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\nciti_resp_2020.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Cities/Cities Responses/2020_Full_Cities_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\n\n#Corporations\ncorp_disc_cc_2018 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Disclosing/Climate Change/2018_Corporates_Disclosing_to_CDP_Climate_Change.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_disc_cc_2019 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Disclosing/Climate Change/2019_Corporates_Disclosing_to_CDP_Climate_Change.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_disc_cc_2020 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Disclosing/Climate Change/2020_Corporates_Disclosing_to_CDP_Climate_Change.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\n\ncorp_disc_ws_2018 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Disclosing/Water Security/2018_Corporates_Disclosing_to_CDP_Water_Security.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_disc_ws_2019 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Disclosing/Water Security/2019_Corporates_Disclosing_to_CDP_Water_Security.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_disc_ws_2020 <- read.csv(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Disclosing/Water Security/2020_Corporates_Disclosing_to_CDP_Water_Security.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\n\ncorp_resp_cc_2018.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Responses/Climate Change/2018_Full_Climate_Change_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_resp_cc_2019.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Responses/Climate Change/2019_Full_Climate_Change_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_resp_cc_2020.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Responses/Climate Change/2020_Full_Climate_Change_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\n\ncorp_resp_ws_2018.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Responses/Water Security/2018_Full_Water_Security_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_resp_ws_2019.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Responses/Water Security/2019_Full_Water_Security_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\ncorp_resp_ws_2020.ff <- read.csv.ffdf(file=\"../input/cdp-unlocking-climate-solutions/Corporations/Corporations Responses/Water Security/2020_Full_Water_Security_Dataset.csv\",VERBOSE=TRUE,header=TRUE,sep = \",\",next.rows=100000,colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\n\n\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Data structuring --------------------------------------------------------------\n\nciti_disc = bind_rows(citi_disc_2018,citi_disc_2019,citi_disc_2020)\ncorp_disc_cc = bind_rows(corp_disc_cc_2018,corp_disc_cc_2019,corp_disc_cc_2020)\ncorp_disc_ws = bind_rows(corp_disc_ws_2018,corp_disc_ws_2019,corp_disc_ws_2020)\n\nciti_resp.ff = ffdfrbind.fill(citi_resp_2018.ff,citi_resp_2019.ff,citi_resp_2020.ff)\ncorp_resp_cc.ff = ffdfrbind.fill(corp_resp_cc_2018.ff,corp_resp_cc_2019.ff,corp_resp_cc_2020.ff)\ncorp_resp_ws.ff = ffdfrbind.fill(corp_resp_ws_2018.ff,corp_resp_ws_2019.ff,corp_resp_ws_2020.ff)\n\nrm(citi_disc_2018,citi_disc_2019,citi_disc_2020,corp_disc_cc_2018,corp_disc_cc_2019,corp_disc_cc_2020,corp_disc_ws_2018,corp_disc_ws_2019,corp_disc_ws_2020,citi_resp_2018.ff,citi_resp_2019.ff,citi_resp_2020.ff,corp_resp_cc_2018.ff,corp_resp_cc_2019.ff,corp_resp_cc_2020.ff,corp_resp_ws_2018.ff,corp_resp_ws_2019.ff,corp_resp_ws_2020.ff)\nciti_disc = citi_disc %>% within(., rm(Last.update)) %>% separate(.,City.Location, into=c(NA,\"City.Location\",NA),sep = c(7,-1)) %>% separate(.,City.Location, into=c(\"Long\",\"Lat\"),sep = \" \") %>% mutate(Long = as.numeric(Long)) %>% mutate(Lat = as.numeric(Lat)) \ncorp_disc_cc = corp_disc_cc %>% within(., rm(questionnaire,tickers))\ncorp_disc_ws = corp_disc_ws %>% within(., rm(questionnaire,tickers))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Supplementary\nWorldmap = readOGR(dsn = \"../input/world-countries-shape-2017-pop-and-gdp\", layer = \"world-countries\")\n\n#Spatial visualization\n#citi_disc_cleanspatial = citi_disc_clean %>% subset(!is.na(.$Lat))\n#coordinates(citi_disc_cleanspatial) = c(\"Long\",\"Lat\")\n#crs.geo1 = CRS(\"+proj=longlat\")  \n#proj4string(citi_disc_cleanspatial) = crs.geo1  \n#plot(Worldmap)\n#points(citi_disc_cleanspatial, pch = Population, col = \"steelblue\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"citi_resp.ff$code = as.ff(as.factor(countrycode(citi_resp.ff[,\"Country\"], origin = 'country.name', destination = 'iso3c'))) ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Global_Ecological_Footprint\necological_footprint <- read.csv(file=\"../input/global-ecological-footprint/NFA 2019 public_data.csv\",header=TRUE,sep = \",\",colClasses=NA,na.strings=c(\"NA\",\"NaN\", \" \"),encoding=\"UTF-8\")\necological_footprint = ecological_footprint %>% select(c(country,year,record,total)) %>% filter(record == \"EFConsPerCap\")  %>% filter(year == \"2016\") %>% mutate(total=as.numeric(as.character(total))) %>% .[rev(order(.$total)),] \necological_footprint[,\"code\"] = countrycode(ecological_footprint[,\"country\"], origin = 'country.name', destination = 'iso3c') ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Indicator1 <- subset(citi_resp.ff, Year.Reported.to.CDP == 2018 & Question.Number==2.2)\nIndicator1 <- subset(Indicator1, select=c(\"code\",\"Organization\",\"Response.Answer\"))\nIndicator1$Indicator1<-as.ff(ifelse(Indicator1[,\"Response.Answer\"]==\"Yes\",1,ifelse(Indicator1[,\"Response.Answer\"]==\"Do not know\",0,ifelse(Indicator1[,\"Response.Answer\"]==\"No\",-1,NA))))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#Indicator1 <- as.data.frame(Indicator1) %>% group_by(code) %>%  summarise(Indicator1=mean(Indicator1), .groups = 'drop')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Indicator1sum = merge(x = ecological_footprint, y = Indicator1, by = \"code\", all.y = TRUE) %>% filter(!is.na(.$total),!is.na(.$Indicator1)) \nIndicator1sum = merge(Indicator1sum, citi_disc[citi_disc$Year.Reported.to.CDP==2018, c(\"Organization\",\"Long\", \"Lat\")], by.x = \"Organization\", by.y = \"Organization\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"ggplot(Indicator1sum, aes(Indicator1, total)) + \n  geom_point()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Indicator1sum %>% mutate(Indicator1D = ifelse(Indicator1 == 1 & total<1.6,\"Affected\",ifelse(Indicator1 == -1 & total>1.6,\"Profiteer\",ifelse(Indicator1 > -1 & total>1.6,\"Respond\",ifelse(Indicator1 == -1 & total<1.6,\"Unaffected\",NA))))) %>% group_by(Indicator1D) %>% ggplot(aes(Indicator1D, ..count..)) + geom_bar()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"addresses = citi_disc %>% select(c(Organization, City, Country))\naddresses$address <- paste(addresses$Organization, \",\", addresses$City, \",\", addresses$Country)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"library(rvest)\nlibrary(stringi)\nlibrary(jsonlite)\n\n## geocoding function using OSM Nominatim API\n\nnominatim_osm <- function(address = NULL)\n{\n  if(suppressWarnings(is.null(address)))\n    return(data.frame())\n  tryCatch(\n    d <- jsonlite::fromJSON( \n      gsub('\\\\@addr\\\\@', gsub('\\\\s+', '\\\\%20', address), \n           'http://nominatim.openstreetmap.org/search/@addr@?format=json&addressdetails=0&limit=1')\n    ), error = function(c) return(data.frame())\n  )\n  if(length(d) == 0) return(data.frame())\n  return(data.frame(lon = as.numeric(d$lon), lat = as.numeric(d$lat)))\n}","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"addresses = as.vector(unique(addresses$address))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"markdown","source":"out=NULL\nfor (i in 1:length(addresses)) {\n    output = nominatim_osm(addresses[i])\n    Sys.sleep(2)\n    if(length(output)!=0) {\n        d <- data.frame(address = addresses[i], output)\n        out=rbind(out,d)}\n    \n}"},{"metadata":{"trusted":true},"cell_type":"markdown","source":"write.csv(out, \"addressesfull.csv\", row.names = F)"},{"metadata":{"trusted":true},"cell_type":"code","source":"out = read.csv('../input/cdp-geocoded-addresses/addressesfull.csv')\ndim(out)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"out = separate(data = out, col = address, into = c(\"address\", \"City\", \"Country\"), sep = \" , \")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"citi_discc = merge(x = citi_disc, y = out, by.x= \"Organization\", by.y = \"address\",all.x=TRUE)\nciti_discc$lat <- ifelse(is.na(citi_discc$lat), citi_discc$Lat, citi_discc$lat)\nciti_discc$lon <- ifelse(is.na(citi_discc$lon), citi_discc$Long, citi_discc$lon)\n\nciti_discc$lat <- ifelse(citi_discc$Organization==\"City of Houston\",citi_discc$Lat, citi_discc$lat)\nciti_discc$lon <- ifelse(citi_discc$Organization==\"City of Houston\", citi_discc$Long, citi_discc$lon)\nciti_discc$lon <- ifelse(citi_discc$Organization==\"City and County of Honolulu\"|citi_discc$Organization==\"City of Guelph\", -1*citi_discc$lon, citi_discc$lon)\nciti_discc$lon <- ifelse(citi_discc$Organization==\"Municipality of Porto Alegre\", -1*citi_discc$lon, citi_discc$lon)\nciti_discc$lat <- ifelse(citi_discc$Organization==\"Municipality of Porto Alegre\", -1*citi_discc$lat, citi_discc$lat)\nciti_discc$lon <- ifelse(citi_discc$Organization==\"City of Key West, FL\", -81.7807, citi_discc$lon)\nciti_discc$lat <- ifelse(citi_discc$Organization==\"City of Key West, FL\", 24.5545, citi_discc$lat)\nciti_discc$lon <- ifelse(citi_discc$Organization==\"Municipio de San Pedro de Urabá\", -76.3793, citi_discc$lon)\nciti_discc$lat <- ifelse(citi_discc$Organization==\"Municipio de San Pedro de Urabá\", 8.2773, citi_discc$lat)\nciti_discc$lon <- ifelse(citi_discc$Organization==\"Prefeitura de São Sebastião\", -45.41, citi_discc$lon)\nciti_discc$lat <- ifelse(citi_discc$Organization==\"Prefeitura de São Sebastião\", -23.76, citi_discc$lat)\n\nciti_discc = citi_discc %>% select(-c(Long,Lat,City.y,Country.y))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Indicator1Sum = merge(x = Indicator1sum, y = citi_discc, by.x= \"Organization\", by.y = \"Organization\",all.x=TRUE)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"World_fp <- merge(Worldmap, ecological_footprint, by.x=\"ISO3\", by.y=\"code\")\nWorld_fp@data$total[which(World_fp@data$total == 0)] = NA\nWorld_fp@data$total <- as.numeric(as.character(World_fp@data$total)) %>% round(2)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Create a color palette with handmade bins.\nlibrary(RColorBrewer)\nmybins <- c(0,2,4,8,16)\nmypalette <- colorBin( palette=\"YlOrBr\", domain=World_fp@data$total, na.color=\"transparent\", bins=mybins)\npal <- colorFactor(c(\"red\", \"black\", \"dark green\"),domain = unique(Indicator1Sum$Indicator1))\nlabels <- c(\"No\",\"Don't Know\",\"Yes\")\n \n# Prepare the text for tooltips:\nmytext <- paste(\n    \"Country: \", World_fp@data$NAME,\"<br/>\", \n    \"Ecological Footprint per capita (gha): \", round(World_fp@data$total, 2), \n    sep=\"\") %>%\n  lapply(htmltools::HTML)\ntext <- paste(\n    \"Country: \", World_fp@data$NAME,\"<br/>\", \n    \"Ecological Footprint per capita (gha): \", round(World_fp@data$total, 2), \n    sep=\"\") %>%\n  lapply(htmltools::HTML)\n \n# Final Map\nm <- leaflet(World_fp) %>% \n  addTiles()  %>% \n  setView(-38.7316, 38.5143, zoom = 3) %>%\n  addPolygons(\n    fillColor = ~mypalette(total), \n    stroke=TRUE, \n    fillOpacity = 0.9, \n    color=\"white\", \n    weight=0.3,\n    label = mytext,\n    labelOptions = labelOptions( \n      style = list(\"font-weight\" = \"normal\", padding = \"3px 8px\"), \n      textsize = \"13px\", \n      direction = \"auto\"\n    )\n  ) %>% addCircleMarkers(radius= 5, color=~pal(Indicator1Sum$Indicator1), lng = ~Indicator1Sum$lon, lat = ~Indicator1Sum$lat, label = ~as.character(Indicator1Sum$Organization), stroke = FALSE, fillOpacity = 0.8) %>% addLegend(pal=pal, values=~(Indicator1Sum$Indicator1), opacity=0.9, title = \"Climate risk\", position = \"bottomright\", labFormat = function(type, cuts, p) {paste0(labels)} ) %>% addLegend(pal=mypalette, values=~total, opacity=0.9, title = \"Eco footprint (gha per person)\", position = \"bottomleft\" )\n\nm","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Indicator <- subset(citi_resp.ff, Question.Number==\"4.6b\" | Question.Number==\"4.6c\" | Question.Number==4.8)\nIndicator <- as.data.frame(Indicator)\nIndicator$Response.Answer <- as.numeric(as.character(Indicator$Response.Answer))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope1_GPC <- Indicator %>% filter(Question.Number==\"4.6b\" & Column.Number==1 & Row.Number==13) \nScope2_GPC <- Indicator %>% filter(Question.Number==\"4.6b\" & Column.Number==1 & Row.Number==14)\nScope_1_2_GPC <- rbind(Scope1_GPC,Scope2_GPC)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope1_OTH <- Indicator %>% filter(Question.Number==\"4.6c\" & Column.Number==5 & Row.Number==1) \nScope2_OTH <- Indicator %>% filter(Question.Number==\"4.6c\" & Column.Number==8 & Row.Number==1)\nScope_1_2_OTH <- rbind(Scope1_OTH,Scope2_OTH)\nScope1_2_OTH <- Indicator %>% filter(Question.Number==\"4.6c\" & Column.Number==10 & Row.Number==1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope1 <- rbind(Scope1_GPC,Scope1_OTH)\nScope2 <- rbind(Scope2_GPC,Scope2_OTH)\nEmissions <- merge(Scope1, Scope2, by=c(\"Year.Reported.to.CDP\",\"Account.Number\",\"Organization\",'Country','CDP.Region'))\nEmissions <- Emissions %>% select('Year.Reported.to.CDP','Organization','Country','CDP.Region','Response.Answer.x','Response.Answer.y') \nEmissions[is.na(Emissions$Response.Answer.x),]$Response.Answer.x <- 0\nEmissions[is.na(Emissions$Response.Answer.y),]$Response.Answer.y <- 0\nEmissions <- Emissions %>% filter(Response.Answer.x>0 & Response.Answer.y>0) %>% mutate(Emissions = Response.Answer.x + Response.Answer.y) ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"aqi = read.csv('../input/yearly-air-quality-index-aqi-for-cdp-cities/year_over_year_aqi_data_v2.csv')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Emissions_aqi <- Emissions %>% filter(Year.Reported.to.CDP==2019)\naqi <- aqi %>% filter(year==2019) \naqi <- merge(Emissions_aqi, aqi, by.x=\"Organization\", by.y=\"organization\") %>% select('Organization','Year.Reported.to.CDP','Country','CDP.Region','Emissions','arithmetic_mean')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"IndicatorAqi = merge(aqi, citi_discc[citi_discc$Year.Reported.to.CDP==2019, c(\"Organization\",\"Population\",\"lon\", \"lat\")], by.x = \"Organization\", by.y = \"Organization\")\nEmissionsperCap <- IndicatorAqi %>% filter(Emissions>0 & Population>0) %>% mutate(EmissionsperCap = Emissions / Population) ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"p <- EmissionsperCap %>%\n  ggplot(aes(arithmetic_mean, EmissionsperCap, color=CDP.Region, size=10)) +\n  geom_point() +\n  labs(title=\"Emissions vs. Air quality\",\n        x =\"Average daily PM2.5 µg/m3 measurement\", y = \"Total Emissions\") + theme(axis.text=element_text(size=12),\n        axis.title=element_text(size=14,face=\"bold\"))\n\nggplotly(p, height = 600,\n    width = 750)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"head(EmissionsperCap)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope1 <- Scope1 %>% filter(Response.Answer>0) %>% group_by(Organization) %>% summarise(Response.Answer = sum(Response.Answer), .groups = \"drop\") %>% droplevels()\nplot_ly(Scope1,x = ~Response.Answer, y = ~reorder(Organization,Response.Answer),name = \"Scope 1 GHG Emissions\",type = \"bar\",height = 2700, width = 1100) %>% layout(xaxis = list(title = list(text=\"Scope 1 Emissions\",standoff=5), fixedrange = TRUE, side='top',automargin = TRUE), yaxis = list(title = list(text='Organization',standoff=15), dtick= 1, automargin=TRUE))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope2 <- Scope2 %>% filter(Response.Answer>0) %>% group_by(Organization) %>% summarise(Response.Answer = sum(Response.Answer), .groups = \"drop\") %>% droplevels()\nplot_ly(Scope2,x = ~Response.Answer, y = ~reorder(Organization,Response.Answer),name = \"Scope 2 GHG Emissions\",type = \"bar\", colors = \"red\", height = 2500,\n    width = 1100)  %>% layout(xaxis = list(title = list(text=\"Scope 2 Emissions\",standoff=5), fixedrange = TRUE, side='top',automargin = TRUE), yaxis = list(title = list(text='Organization',standoff=15), dtick= 1, automargin=TRUE))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope_1_2_GPC$Row.Name <- as.character(Scope_1_2_GPC$Row.Name) \nScope_1_2_GPC <- Scope_1_2_GPC %>% filter(Response.Answer>0)  %>% droplevels()\n\nshared <- highlight_key(Scope_1_2_GPC)\n\ng <- shared %>% plot_ly(\n    x = ~Response.Answer, \n    y = ~reorder(Organization,Response.Answer),\n    split = ~Row.Name,\n    height = 2800,\n    width = 1100,\n    color= ~Row.Name,\n    colors = c(\"blue\", \"red\"),\n    text = Scope_1_2_GPC$rank,\n    textposition = 'top',\n    type = 'bar') %>% layout(xaxis = list(title = list(text=\"Total Emissions\",standoff=5), fixedrange = TRUE, side='top',automargin = TRUE), yaxis = list(title = list(text='Organization',standoff=15), dtick= 1, automargin=TRUE), barmode = 'stack') \n\nbscols(widths= c(1,1),\n  filter_slider(\"Year.Reported.to.CDP\", \"Year\", shared, ~Year.Reported.to.CDP, ticks=FALSE,step=1),\n  filter_checkbox(\"Row.Name\", \"Type of emission\", shared, ~Row.Name),\n  ggplotly(g)\n)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope_1_2_OTH$Column.Name <- as.character(Scope_1_2_OTH$Column.Name) \nScope_1_2_OTH <- Scope_1_2_OTH %>% filter(Response.Answer>0) %>% droplevels()\n\nshared <- highlight_key(Scope_1_2_OTH)\n\ng <- shared %>% plot_ly(\n    x = ~Response.Answer, \n    y = ~reorder(Organization,Response.Answer),\n    split = ~Column.Name,\n    height = 1000,\n    width = 1100,\n    color= ~Column.Name,\n    colors = c(\"blue\", \"red\"), \n    type = 'bar') %>% layout(xaxis = list(title = list(text=\"Total Emissions\",standoff=5), fixedrange = TRUE, side='top',automargin = TRUE), yaxis = list(title = list(text='Organization',standoff=15), dtick= 1, automargin=TRUE), barmode = 'stack') \n\nbscols(widths= c(1,1),\n  filter_slider(\"Year.Reported.to.CDP\", \"Year\", shared, ~Year.Reported.to.CDP, ticks=FALSE,step=1),\n  filter_checkbox(\"Column.Name\", \"Type of emission\", shared, ~Column.Name),\n  ggplotly(g)\n)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"Scope_1_2_GPC <- Scope_1_2_GPC %>% mutate(rank = dense_rank(desc(Response.Answer)))","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"name":"ir","display_name":"R","language":"R"},"language_info":{"name":"R","codemirror_mode":"r","pygments_lexer":"r","mimetype":"text/x-r-source","file_extension":".r","version":"3.6.3"}},"nbformat":4,"nbformat_minor":4}