library(convergEU) library(knitr) library(tibble) library(devtools) library(tidyverse) library(gridExtra) library(eurostat) library(purrr) library(ggplot2) library(dplyr) library(tidyr) library(ggplot2) library(kableExtra) library(caTools) library(broom) library(png) library(htmltools) library(htmlwidgets) library(webshot) library(flextable) library(flexmix) library(officer) knitr::opts_chunk$set( collapse = TRUE, comment = "#>", prompt= TRUE, fig.width = 7, fig.height = 5, echo=FALSE, message = FALSE, warning = FALSE, eval=TRUE )
params <- list(workingDF = NA, time_0 = 2005, time_t = 2010, timeName = "time", country = "IT", otherCountries = "NA", indiType = "highBest", indiName = "emp_20_64_MS", aggregation = "EU27", x_angle = 45, dataNow = structure(1602310206.79617, class = c("POSIXct", "POSIXt")), auth = "A.Student", outFile = "primoTest", outDir = "/tmp/RtmpFwRXrp", workTB = structure(list(time = c(2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018), AT = c(70.9, 71.3, 68.4, 70.4, 71.6, 72.8, 73.8, 73.4, 73.9, 74.2, 74.4, 74.6, 74.2, 74.3, 74.8, 75.4, 76.2), BE = c(64.7, 64.5, 65.8, 66.5, 66.5, 67.7, 68, 67.1, 67.6, 67.3, 67.2, 67.2, 67.3, 67.2, 67.7, 68.5, 69.7), BG = c(56.5, 58.7, 61.2, 61.9, 65.1, 68.4, 70.7, 68.8, 64.7, 62.9, 63, 63.5, 65.1, 67.1, 67.7, 71.3, 72.4), CY = c(75.1, 75.4, 75.7, 74.4, 75.8, 76.8, 76.5, 75.3, 75, 73.4, 70.2, 67.2, 67.6, 67.9, 68.7, 70.8, 73.9), CZ = c(71.7, 71, 70.1, 70.7, 71.2, 72, 72.4, 70.9, 70.4, 70.9, 71.5, 72.5, 73.5, 74.8, 76.7, 78.5, 79.9), DE = c(68.8, 68.4, 67.9, 69.4, 71.1, 72.9, 74, 74.2, 75, 76.5, 76.9, 77.3, 77.7, 78, 78.6, 79.2, 79.9), DK = c(78.3, 77.4, 78.1, 78, 79.4, 79, 78.7, 76.1, 74.9, 74.8, 74.3, 74.3, 74.7, 75.4, 76, 76.6, 77.5), EE = c(68.3, 69.1, 70.2, 72, 75.9, 76.9, 77.1, 70, 66.8, 70.6, 72.2, 73.3, 74.3, 76.5, 76.6, 78.7, 79.5), EL = c(62.8, 63.8, 64.3, 64.4, 65.6, 65.8, 66.3, 65.6, 63.8, 59.6, 55, 52.9, 53.3, 54.9, 56.2, 57.8, 59.5), ES = c(63.2, 64.3, 65.2, 67.5, 69, 69.7, 68.5, 64, 62.8, 62, 59.6, 58.6, 59.9, 62, 63.9, 65.5, 67), FI = c(73.2, 72.9, 72.5, 73, 73.9, 74.8, 75.8, 73.5, 73, 73.8, 74, 73.3, 73.1, 72.9, 73.4, 74.2, 76.3), FR = c(68.6, 69.7, 69.2, 69.4, 69.4, 69.9, 70.5, 69.5, 69.3, 69.2, 69.4, 69.5, 69.2, 69.5, 70, 70.6, 71.3), HR = c(57.9, 58.4, 59.7, 60, 60.6, 63.9, 64.9, 64.2, 62.1, 59.8, 58.1, 57.2, 59.2, 60.6, 61.4, 63.6, 65.2), HU = c(61.4, 62.4, 62, 62.2, 62.6, 62.3, 61.5, 60.1, 59.9, 60.4, 61.6, 63, 66.7, 68.9, 71.5, 73.3, 74.4 ), IE = c(70.8, 70.4, 71, 72.6, 73.4, 75.1, 73.5, 68, 65.5, 64.6, 64.5, 66.5, 68.1, 69.9, 71.4, 73, 74.1), IT = c(59.2, 60.1, 61.7, 61.5, 62.4, 62.7, 62.9, 61.6, 61, 61, 60.9, 59.7, 59.9, 60.5, 61.6, 62.3, 63), LT = c(68, 70.7, 69.6, 70.7, 71.3, 72.7, 72, 67, 64.3, 66.9, 68.5, 69.9, 71.8, 73.3, 75.2, 76, 77.8), LU = c(68.4, 67.2, 67.7, 69, 69.1, 69.6, 68.8, 70.4, 70.7, 70.1, 71.4, 71.1, 72.1, 70.9, 70.7, 71.5, 72.1), LV = c(66.3, 67.4, 67.4, 69.1, 73.2, 75.2, 75.4, 66.6, 64.3, 66.3, 68.1, 69.7, 70.7, 72.5, 73.2, 74.8, 76.8), MT = c(58.2, 57.8, 57.3, 57.4, 57.9, 58.6, 59.2, 59, 60.1, 61.6, 63.9, 66.2, 67.9, 69, 71.1, 73, 75.5), NL = c(75.8, 75.3, 74.9, 72.7, 73.7, 75.5, 76.9, 76.8, 76.2, 76.4, 76.6, 75.9, 75.4, 76.4, 77.1, 78, 79.2), PL = c(57.7, 57.3, 57, 58.3, 60.1, 62.7, 65, 64.9, 64.3, 64.5, 64.7, 64.9, 66.5, 67.8, 69.3, 70.9, 72.2), PT = c(74.1, 73, 72.6, 72.2, 72.6, 72.5, 73.1, 71.1, 70.3, 68.8, 66.3, 65.4, 67.6, 69.1, 70.6, 73.4, 75.4), RO = c(64.3, 64.8, 64.7, 63.6, 64.8, 64.4, 64.4, 63.5, 64.8, 63.8, 64.8, 64.7, 65.7, 66, 66.3, 68.8, 69.9 ), SE = c(78.8, 78.5, 77.8, 78.1, 78.8, 80.1, 80.4, 78.3, 78.1, 79.4, 79.4, 79.8, 80, 80.5, 81.2, 81.8, 82.6), SI = c(70, 68.1, 71, 71.1, 71.5, 72.4, 73, 71.9, 70.3, 68.4, 68.3, 67.2, 67.7, 69.1, 70.1, 73.4, 75.4), SK = c(63.2, 65, 63.5, 64.5, 66, 67.2, 68.8, 66.4, 64.6, 65, 65.1, 65, 65.9, 67.7, 69.8, 71.1, 72.4), UK = c(74.3, 74.7, 74.9, 75.2, 75.2, 75.2, 75.2, 73.9, 73.5, 73.5, 74.1, 74.8, 76.2, 76.8, 77.5, 78.2, 78.7)), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"), row.names = c(NA, -17L), spec = structure(list( cols = list(time = structure(list(), class = c("collector_double", "collector")), AT = structure(list(), class = c("collector_double", "collector")), BE = structure(list(), class = c("collector_double", "collector")), BG = structure(list(), class = c("collector_double", "collector")), CY = structure(list(), class = c("collector_double", "collector")), CZ = structure(list(), class = c("collector_double", "collector")), DE = structure(list(), class = c("collector_double", "collector")), DK = structure(list(), class = c("collector_double", "collector")), EE = structure(list(), class = c("collector_double", "collector")), EL = structure(list(), class = c("collector_double", "collector")), ES = structure(list(), class = c("collector_double", "collector")), FI = structure(list(), class = c("collector_double", "collector")), FR = structure(list(), class = c("collector_double", "collector")), HR = structure(list(), class = c("collector_double", "collector")), HU = structure(list(), class = c("collector_double", "collector")), IE = structure(list(), class = c("collector_double", "collector")), IT = structure(list(), class = c("collector_double", "collector")), LT = structure(list(), class = c("collector_double", "collector")), LU = structure(list(), class = c("collector_double", "collector")), LV = structure(list(), class = c("collector_double", "collector")), MT = structure(list(), class = c("collector_double", "collector")), NL = structure(list(), class = c("collector_double", "collector")), PL = structure(list(), class = c("collector_double", "collector")), PT = structure(list(), class = c("collector_double", "collector")), RO = structure(list(), class = c("collector_double", "collector")), SE = structure(list(), class = c("collector_double", "collector")), SI = structure(list(), class = c("collector_double", "collector")), SK = structure(list(), class = c("collector_double", "collector")), UK = structure(list(), class = c("collector_double", "collector"))), default = structure(list(), class = c("collector_guess", "collector")), skip = 1), class = "col_spec")))
This fiche shows the investigation of upward convergence in a particular Member State and its dynamics, compared to the other countries selected. The analysis is performed using the methodological framework of Eurofound (2018), where upward convergence is the process in which Member States improve their performance in relation to a particular outcome or policy objective together with a decrease in disparities among them.
Today: r params$dataNow
R Package: convergEU
Indicator: r params$indiName
Indicator type: r params$indiType
Country of reference: r params$country
Other selected countries: r paste(eval(parse(text=params$otherCountries)),collapse=", ")
Aggregation: r params$aggregation
Time window: r params$timeName
from r as.numeric(params$time_0)
to r as.numeric(params$time_t)
Author: r params$auth
# to save into a out-file out_packed_list <- list() out_packed_list$params <- params timeName <- params$timeName seleCountry <- params$country myx_angle <- params$x_angle ptime_0 <- as.numeric(params$time_0) ptime_t <- as.numeric(params$time_t) indiName <- params$indiName indiType <- params$indiType if(is.na(indiType))stop("Error: indicator type not available.") out_packed_name <- file.path(params$outDir, paste0(params$outFile, '-workspace.RData')) wkDF0 <- params$workTB # filtering wkDF0 <- dplyr::filter(wkDF0, (.data[[timeName]] <= ptime_t) & (.data[[timeName]] >= ptime_0)) otherCountries <- eval(parse(text= params$otherCountries )) if(is.na(otherCountries[1]) && params$aggregation =="custom"){ otherCountries <- setdiff(names(wkDF0),timeName) }else if(is.na(otherCountries[1]) && params$aggregation !="custom"){ otherCountries <- convergEU_glb()[[params$aggregation]]$memberStates$codeMS } otherCountries <- setdiff(otherCountries,seleCountry) if( !(params$aggregation %in% c( convergEU_glb()$labels_clusters,"custom"))){ stop("Error: wrong aggregation selected!!\nLook into convergEU_glb()"); }; if(params$aggregation != "custom"){ nomiSele <- c(params$timeName, convergEU_glb()[[params$aggregation]]$memberStates$codeMS) nomiSeleExt <- c(params$timeName, convergEU_glb()[[params$aggregation]]$memberStates$MS) wkDF <- dplyr::select(wkDF0, all_of(nomiSele)) }else{ # this is for "custom" selection nomiSele <- names(wkDF0) nomiSeleExt <- names(wkDF0) wkDF <- wkDF0 } ## checking selection of MS seleCount <- c(params$country, otherCountries) if(length(setdiff(seleCount, nomiSele)) > 0){ stop("Error: Member States of interest outside the selected aggregation!!") }; ## Uncomment this line below if you want to show the initial dataset # wkDF
r params$aggregation
aggregationThe graph gives an overview of the country performance compared to r params$aggregation
.
outSig <- sigma_conv(wkDF, timeName = timeName, time_0 = ptime_0, time_t = ptime_t) miniY <- min(wkDF[,- which(names(wkDF) == timeName )]) maxiY <- max(wkDF[,- which(names(wkDF) == timeName )]) estrattore<- wkDF[[timeName]] >= ptime_0 & wkDF[[timeName]] <= ptime_t # to guarantee that timeName is "time" names(outSig$res)[1]<-"time" selettmp <- dplyr::filter(wkDF,estrattore) ttmp <- cbind(outSig$res, dplyr::select(selettmp, -contains(timeName))) # minimum and maximum values tmpwkDF <- dplyr::filter(wkDF,estrattore) rawDat <- dplyr::select(tmpwkDF, -contains(timeName)) ttmp <- dplyr::mutate(ttmp,serieMax =apply(rawDat,1,max)) ttmp <- dplyr::mutate(ttmp,serieMin =apply(rawDat,1,min))
# build labels for minimum and maximum ttmpeticheMin <-sapply(seq(1,length(ttmp$serieMin)), function(vx){ estrattore <- ttmp$serieMin[vx] == rawDat[vx,] paste(names(rawDat)[estrattore],collapse="/") }) ttmp <- dplyr::mutate(ttmp,eticheMin = ttmpeticheMin) ttmpeticheMax <- sapply(seq(1,length(ttmp$serieMin)), function(vx){ estrattore <- ttmp$serieMax[vx] == rawDat[vx,] paste(names(rawDat)[estrattore],collapse="/") }) ttmp <- dplyr::mutate(ttmp,eticheMax = ttmpeticheMax)
#1# revision with standard names #revised on 20/02 to adjust rlang requirements, can't use .data anymore if data after + -EPE myG2 <- ggplot(ttmp) + geom_line(aes(x= .data[["time"]], y = .data[["mean"]],colour="black" )) + geom_point(aes(x=.data[["time"]],y = .data[["mean"]],colour="black")) + # add countries #6 aprile geom_line( aes( x = ttmp[,"time"], y = ttmp[[seleCountry]], geom_line( aes( x = .data[["time"]], y = .data[[seleCountry]], colour="red"),linetype="dotted") + # 6 aprile geom_point( aes(x = ttmp[,"time"], y = ttmp[,seleCountry], colour="red")) + geom_point( aes(x = .data[["time"]], y = .data[[seleCountry]], colour="red")) + # 6 aprileggplot2::scale_x_continuous(breaks = ttmp[,"time"],labels = ttmp[,"time"]) + ggplot2::scale_x_continuous(breaks = ttmp[["time"]], labels = ttmp[["time"]]) + ylim(c(miniY,maxiY)) + xlab("Year") + ylab("Indicator level") + ggplot2::geom_line(aes(x= .data[["time"]], y= .data[["serieMin"]], colour = "blue" ),linetype="dashed") + ggplot2::geom_line(aes(x= .data[["time"]], y= .data[["serieMax"]], colour = "blue" ),linetype="dashed") + ggplot2::annotate("text", x = ttmp[["time"]], y = ttmp[["serieMax"]], label = paste(ttmp[["eticheMax"]]," "), color ="navyblue", angle=45) + ggplot2::annotate("text", x = ttmp[["time"]], y= ttmp[["serieMin"]], label = paste(" ",ttmp$eticheMin), color ="navyblue", angle=45) + ggplot2::theme( axis.text.x=ggplot2::element_text( angle = 45 )) + scale_colour_manual("Series", values=c("blue"="blue", "red" = "red", "black" = "black") ,labels=c("blue" = "min/max", "red" = seleCountry, "black"="mean") ) + theme(legend.key.size = unit(1.3, "cm")) + guides(shape = "none", colour = guide_legend( override.aes = list(linetype = c( "black"="F1", "blue"="45", "red"="13") ))) print(myG2) # save to file out_packed_list$EUave1 <- myG2
# averaging conditional to aggregation if(params$aggregation != "custom"){ outMed <- average_clust(wkDF, timeName = params$timeName, cluster = params$aggregation)$res[,c(timeName,params$aggregation)] }else{ outMed <- average_clust(wkDF, timeName = params$timeName, cluster = "all")$res[,c(timeName,"all")] vars2rename <- c(custom="all") outMed <- dplyr::rename(outMed, custom = all) } lastRowAverages <- nrow(outMed) diffeAve <- as.numeric(outMed[lastRowAverages,params$aggregation]) - as.numeric(outMed[1,params$aggregation]) diffeSeleCountry <- wkDF[lastRowAverages,params$country]-wkDF[1,params$country]
Change in r params$country
:
r ptime_0
: r as.numeric(wkDF[1,params$country])
r ptime_t
: r as.numeric(wkDF[lastRowAverages, params$country])
r diffeSeleCountry
Change in r params$aggregation
average:
r ptime_0
, average: r as.numeric(outMed[1,params$aggregation])
r ptime_t
, average: r as.numeric(outMed[lastRowAverages,params$aggregation])
r diffeAve
The graph shows the times series trend of the selected Member States giving an idea of the individual development of the countries selected.
# other countries forced to be present without missing values tmp2 <- ttmp[, c(timeName,seleCountry,otherCountries)] tmp2$EU<-ttmp$mean tmp3 <- tidyr::gather_(tmp2, gather_cols = c(seleCountry,otherCountries,"EU"), key_col = "Country",value_col="Indicator" ) # rename EU as mean tmp3[ tmp3$Country == "EU","Country"] <-"mean" # colour red for reference country numCow <- length(unique(tmp3$Country)) tmp3$Country<- factor(tmp3$Country,levels=unique(tmp3$Country)) tmp3$ColoreSC <- "blue" tmp3$ColoreSC[tmp3$Country == seleCountry] <- "red" tmp3$ColoreSC[tmp3$Country == "EU"] <- "black" # tmp3$ShapeSC <- as.numeric(tmp3$Country) # tmp3$LineSC <- 4 tmp3$LineSC[tmp3$Country == seleCountry] <- 2 tmp3$LineSC[tmp3$Country == "EU"] <- 1 # tmp3$pointSize<-1.2 myG3 <- ggplot2::ggplot(tmp3, aes(x=time, y =Indicator,colour=Country) )+ ggplot2::geom_line( aes(colour = Country) ) + ggplot2::geom_point( aes(colour=Country), #6 april2020 #shape= tmp3$Country) + shape= 1) + ggplot2::scale_x_continuous( breaks = tmp3[,timeName], labels = tmp3[,timeName]) + ggplot2::theme( axis.text.x=ggplot2::element_text( angle = myx_angle )) + ylim(c(miniY,maxiY)) + xlab("Year") + ylab(params$indiName) print(myG3) # save to file out_packed_list$EUave2 <- myG3
# averaging conditional to aggregation outMed <- average_clust(wkDF,timeName = params$timeName, cluster="all")$res outMed <- dplyr::rename(outMed, average = all) lastRowAverages <- nrow(outMed) diffeAve <- as.numeric(outMed[lastRowAverages,"average"]) - as.numeric(outMed[1,"average"]) ## nuova definizione 2 nov 2019 ## highBest if( (diffeAve > 0 ) & (params$indiType =="highBest")){ labelAveDelta <- "upward change" }else if((diffeAve == 0) & (params$indiType =="highBest")){ labelAveDelta <- "unchanged" }else if((diffeAve < 0) & (params$indiType =="highBest")) { labelAveDelta <- "downward change" } ## lowBest if( (diffeAve > 0 ) & (params$indiType =="lowBest")){ labelAveDelta <- "downward change" }else if((diffeAve == 0) & (params$indiType =="lowBest")){ labelAveDelta <- "unchanged" }else if((diffeAve < 0) & (params$indiType =="lowBest")) { labelAveDelta <- "upward change" }
Change in average:
r ptime_0
, average: r as.numeric(outMed[1,"average"])
r ptime_t
, average: r as.numeric(outMed[lastRowAverages,"average"])
r diffeAve
r labelAveDelta
This graph is useful in order to assess if the Member State's performance deviates significantly from the r params$aggregation
average. This indicator has been created building on the EMCO and SPC methodology.
curCountries <- params$country if(!is.na(otherCountries[1])){ curCountries <- c(curCountries, otherCountries) } altezzaG2 <- 3 + 7 * (length(curCountries)/30)
## NOTE !!!! ## only calculations on subsequent years are supported. ## Time intervals of different lengths not supported ## curCountries <- params$country if(!is.na(otherCountries[1])){ curCountries <- c(curCountries, otherCountries) } scobe_lvl <- scoreb_yrs(wkDF,timeName = timeName)$res$sco_level # select subset of time estrattore <- scobe_lvl[[timeName]] >= ptime_0 & scobe_lvl[[timeName]] <= ptime_t scobelvl <- scobe_lvl[estrattore,c(timeName,curCountries)] # conversion for(aux in curCountries){ scobelvl[[aux]] <- c(-1,-0.5,0,0.5,1)[scobelvl[[aux]]] } final_TB <- tidyr::gather(scobelvl, key="Country",value="Level",all_of(curCountries))
if(length(curCountries)>1){ myG_JAF <- ggplot(final_TB, aes(x = .data[[timeName]], y = Level)) + ggplot2::facet_wrap(~ Country,ncol=2)+ ggplot2::geom_line() + ggplot2::geom_point() + ggplot2::theme( axis.text.x=ggplot2::element_text( angle = myx_angle )) + ggplot2::scale_x_continuous( breaks = final_TB[[timeName]], labels = final_TB[[timeName]]) + ggplot2::scale_y_continuous( breaks = c(-1,-0.5,0,0.5,1), labels = c(-1,-0.5,0,0.5,1), limits= c( -1.25,1.25) ) + xlab("Years") +ylab("Indicator") + geom_hline(yintercept=-1,colour="red",linetype="dotted")+ geom_hline(yintercept=-0.5,colour="red",linetype="dotted")+ geom_hline(yintercept=0,colour="red",linetype="dotted")+ geom_hline(yintercept=0.5,colour="red",linetype="dotted")+ geom_hline(yintercept= 1,colour="red",linetype="dotted") }else{ myG_JAF <- ggplot(final_TB,aes(x = .data[[timeName]], y = Level)) + ggplot2::geom_line() + ggplot2::geom_point() + ggplot2::theme( axis.text.x=ggplot2::element_text( angle = myx_angle )) + ggplot2::scale_x_continuous( breaks = final_TB[[timeName]], labels = final_TB[[timeName]]) + ggplot2::scale_y_continuous( breaks = c(-1,-0.5,0,0.5,1), labels = c(-1,-0.5,0,0.5,1), limits= c( -1.25,1.25) ) + xlab("Years") +ylab("Indicator") + geom_hline(yintercept=-1,colour="red",linetype="dotted")+ geom_hline(yintercept=-0.5,colour="red",linetype="dotted")+ geom_hline(yintercept=0,colour="red",linetype="dotted")+ geom_hline(yintercept=0.5,colour="red",linetype="dotted")+ geom_hline(yintercept= 1,colour="red",linetype="dotted") } print(myG_JAF) out_packed_list$JAF <- myG_JAF
This table is useful in order to assess if the Member State's performance deviates significantly from the r params$aggregation
average.
curCountries <- params$country if(!is.na(otherCountries[1])){ curCountries <- c(curCountries, otherCountries) } altezzaG0 <- 3 + 6 * (length(curCountries)/30) #height was 6
## NOTE !!!! ## only calculations on subsequent years are supported. ## Time intervals of different lengths not supported ## curCountries <- params$country if(!is.na(otherCountries[1])){ curCountries <- c(curCountries, otherCountries) } obe_lvl <- scoreb_yrs(wkDF,timeName = timeName)$res$sco_level_num # select subset of time estrattore <- obe_lvl[[timeName]] >= ptime_0 & obe_lvl[[timeName]] <= ptime_t scobelvl <- obe_lvl[estrattore,c(timeName,curCountries)] my_MS <- ms_dynam( scobelvl, timeName = "time", displace = 0.25, displaceh = 0.45, dimeFontNum = 3,#5 myfont_scale = 1.35, x_angle = 45, axis_name_y = "Countries", axis_name_x = "Time", alpha_color = 0.9, indiType = indiType ) print(my_MS) out_packed_list$MSdyn <- my_MS
The table represents convergence patterns of the
r params$aggregation
countries in
the chosen timeframe. The values in the table refer to the patterns shown in the graphical
legend below.
estrattore <- as.logical((wkDF[,timeName] >= ptime_0) & (wkDF[,timeName]<= ptime_t)) estrattore_1_n <- as.logical((wkDF[,timeName] == ptime_0) | (wkDF[,timeName]== ptime_t)) # original code pre 39 patterns # myMSPat <- ms_pattern_ori(wkDF[estrattore,], # timeName = timeName, # typeIn= params$indiType) # myMSPat_first_last <- ms_pattern_ori(wkDF[estrattore_1_n ,], # timeName = timeName, # typeIn= params$indiType) # end original code ### new 39+1 patterns myMSPat <- ms_pattern_59(wkDF[estrattore,], timeName = timeName) myMSPat_first_last <- ms_pattern_59(wkDF[estrattore_1_n ,], timeName = timeName) ## end of 39+1 new patterns workMatSco <- myMSPat$res$mat_num_tags workMatSco2 <- dplyr::bind_cols(myMSPat$res$mat_num_tags, myMSPat_first_last$res$mat_num_tags[,2] ) # test if(any(myMSPat$res$mat_num_tags[,1] != myMSPat_first_last$res$mat_num_tags[,1])){ stop("Error: line 1020 indica_fi.Rmd - countries do not match.") } curCountries <- setdiff(names(wkDF),timeName) posiMS <- posiMS2 <- vector() for(auxCC in curCountries){ posiMS <- c(posiMS,which(workMatSco$Country == auxCC)) posiMS2 <- c(posiMS2,which(workMatSco2$Country == auxCC)) } workMatSco <- workMatSco[posiMS,] workMatSco2 <- workMatSco2[posiMS2,] if(params$aggregation != "custom"){ map2str <- convergEU_glb()[[params$aggregation]]$memberStates }else{ # it's custom 3 october 2019 map2str <- dplyr::tibble(MS = curCountries, codeMS = curCountries) } ## below is fine for(aux in 1:nrow(workMatSco)){ puntaMS <- which(map2str$codeMS == workMatSco$Country[aux ]) workMatSco$Country[aux ] <- map2str$MS[puntaMS] puntaMS2 <- which(map2str$codeMS == workMatSco2$Country[aux ]) workMatSco2$Country[aux ] <- map2str$MS[puntaMS] } mappaLongStri <- sapply(seleCount,function(vx){which(vx == nomiSele)}) seleEstresi <- nomiSeleExt[mappaLongStri] workMatSco2 <- dplyr::filter(workMatSco2, Country %in% seleEstresi) ## indicate 59 patterns color_ind1 <- which(workMatSco2 == 1, arr.ind = TRUE) color_ind2 <- which(workMatSco2 == 2, arr.ind = TRUE) color_ind3 <- which(workMatSco2 == 3, arr.ind = TRUE) color_ind4 <- which(workMatSco2 == 4, arr.ind = TRUE) color_ind5 <- which(workMatSco2 == 5, arr.ind = TRUE) color_ind6 <- which(workMatSco2 == 6, arr.ind = TRUE) color_ind7 <- which(workMatSco2 == 7, arr.ind = TRUE) color_ind8 <- which(workMatSco2 == 8, arr.ind = TRUE) color_ind9 <- which(workMatSco2 == 9, arr.ind = TRUE) color_ind10 <- which(workMatSco2 == 10, arr.ind = TRUE) color_ind11 <- which(workMatSco2 == 11, arr.ind = TRUE) color_ind12 <- which(workMatSco2 == 12, arr.ind = TRUE) color_ind13 <- which(workMatSco2 == 13, arr.ind = TRUE) color_ind14 <- which(workMatSco2 == 14, arr.ind = TRUE) color_ind15 <- which(workMatSco2 == 15, arr.ind = TRUE) color_ind16 <- which(workMatSco2 == 16, arr.ind = TRUE) color_ind17 <- which(workMatSco2 == 17, arr.ind = TRUE) color_ind18 <- which(workMatSco2 == 18, arr.ind = TRUE) color_ind19 <- which(workMatSco2 == 19, arr.ind = TRUE) color_ind20 <- which(workMatSco2 == 20, arr.ind = TRUE) color_ind21 <- which(workMatSco2 == 21, arr.ind = TRUE) color_ind22 <- which(workMatSco2 == 22, arr.ind = TRUE) color_ind23 <- which(workMatSco2 == 23, arr.ind = TRUE) color_ind24 <- which(workMatSco2 == 24, arr.ind = TRUE) color_ind25 <- which(workMatSco2 == 25, arr.ind = TRUE) color_ind26 <- which(workMatSco2 == 26, arr.ind = TRUE) color_ind27 <- which(workMatSco2 == 27, arr.ind = TRUE) color_ind28 <- which(workMatSco2 == 28, arr.ind = TRUE) color_ind29 <- which(workMatSco2 == 29, arr.ind = TRUE) color_ind30 <- which(workMatSco2 == 30, arr.ind = TRUE) color_ind31 <- which(workMatSco2 == 31, arr.ind = TRUE) color_ind32 <- which(workMatSco2 == 32, arr.ind = TRUE) color_ind33 <- which(workMatSco2 == 33, arr.ind = TRUE) color_ind34 <- which(workMatSco2 == 34, arr.ind = TRUE) color_ind35 <- which(workMatSco2 == 35, arr.ind = TRUE) color_ind36 <- which(workMatSco2 == 36, arr.ind = TRUE) color_ind37 <- which(workMatSco2 == 37, arr.ind = TRUE) color_ind38 <- which(workMatSco2 == 38, arr.ind = TRUE) color_ind39 <- which(workMatSco2 == 39, arr.ind = TRUE) color_ind40 <- which(workMatSco2 == 40, arr.ind = TRUE) color_ind41 <- which(workMatSco2 == 41, arr.ind = TRUE) color_ind42 <- which(workMatSco2 == 42, arr.ind = TRUE) color_ind43 <- which(workMatSco2 == 43, arr.ind = TRUE) color_ind44 <- which(workMatSco2 == 44, arr.ind = TRUE) color_ind45 <- which(workMatSco2 == 45, arr.ind = TRUE) color_ind46 <- which(workMatSco2 == 46, arr.ind = TRUE) color_ind47 <- which(workMatSco2 == 47, arr.ind = TRUE) color_ind48 <- which(workMatSco2 == 48, arr.ind = TRUE) color_ind49 <- which(workMatSco2 == 49, arr.ind = TRUE) color_ind50 <- which(workMatSco2 == 50, arr.ind = TRUE) color_ind51 <- which(workMatSco2 == 51, arr.ind = TRUE) color_ind52 <- which(workMatSco2 == 52, arr.ind = TRUE) color_ind53 <- which(workMatSco2 == 53, arr.ind = TRUE) color_ind54 <- which(workMatSco2 == 54, arr.ind = TRUE) color_ind55 <- which(workMatSco2 == 55, arr.ind = TRUE) color_ind56 <- which(workMatSco2 == 56, arr.ind = TRUE) color_ind57 <- which(workMatSco2 == 57, arr.ind = TRUE) color_ind58 <- which(workMatSco2 == 58, arr.ind = TRUE) color_ind59 <- which(workMatSco2 == 59, arr.ind = TRUE) color_ind60 <- which(workMatSco2 == 60, arr.ind = TRUE) bcolor_ind_high1 <- which(workMatSco2 == 1, arr.ind = TRUE) bcolor_ind_high2 <- which(workMatSco2 == 2, arr.ind = TRUE) bcolor_ind_high3 <- which(workMatSco2 == 3, arr.ind = TRUE) bcolor_ind_high4 <- which(workMatSco2 == 4, arr.ind = TRUE) bcolor_ind_high5 <- which(workMatSco2 == 39, arr.ind = TRUE) bcolor_ind_high6 <- which(workMatSco2 == 40, arr.ind = TRUE) bcolor_ind_high7 <- which(workMatSco2 == 37, arr.ind = TRUE) bcolor_ind_high8 <- which(workMatSco2 == 38, arr.ind = TRUE) bcolor_ind_low1 <- which(workMatSco2 == 17, arr.ind = TRUE) bcolor_ind_low2 <- which(workMatSco2 == 20, arr.ind = TRUE) bcolor_ind_low3 <- which(workMatSco2 == 18, arr.ind = TRUE) bcolor_ind_low4 <- which(workMatSco2 == 19, arr.ind = TRUE) bcolor_ind_low5 <- which(workMatSco2 == 21, arr.ind = TRUE) bcolor_ind_low6 <- which(workMatSco2 == 22, arr.ind = TRUE) bcolor_ind_low7 <- which(workMatSco2 == 23, arr.ind = TRUE) bcolor_ind_low8 <- which(workMatSco2 == 24, arr.ind = TRUE) #HERE STARTS the SECOND version of the flextable aka flx2 flx2 <- autofit(flextable(workMatSco2)) flx2 <- rotate(flx2,j = 2:(ncol(workMatSco2)-1), rotation="btlr",part="header") flx2 <- rotate(flx2,j = ncol(workMatSco2), rotation="btlr",part="header") flx2 <- add_header_row(flx2, values = c("", "Yearly Changes",""), colwidths = c(1,(ncol(workMatSco2)-2),1)) flx2 <- bold(flx2,bold=TRUE, part="header") flx2 <- color(flx2,color="#2676ba", part = "header") flx2 <- hline(flx2, part="body",border = fp_border(color="gray")) flx2 <- vline(flx2, j=1,border = fp_border(color = "black", style = "solid", width = 2)) flx2 <- vline(flx2, j=(ncol(workMatSco2)-1),border = fp_border(color = "black", style = "solid", width = 2)) # flx2 <- vline(flx2, j="Diving",border = fp_border(color = "black", style = "solid", width = 2)) ### fix if more columns added flx2 <- valign(flx2, valign = "center", part = "header") flx2 <- align(flx2, align = "center", part = "header") flx2 <- valign(flx2, valign = "center", part = "body") flx2 <- align(flx2, align = "center", part = "body") flx2 <- align(flx2, j=1,align = "left", part = "all") #first make all cells white flx2<-bg(flx2, bg = 'white') if(params$indiType == "highBest"){ if(length(bcolor_ind_high1) != 0){ for(i in 1:nrow(bcolor_ind_high1)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high1[i, 1], j = bcolor_ind_high1[i, 2], bg = '#78b64e') }} if(length(bcolor_ind_high2) != 0){ for(i in 1:nrow(bcolor_ind_high2)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high2[i, 1], j = bcolor_ind_high2[i, 2], bg = '#78b64e') }} if(length(bcolor_ind_high3) != 0){ for(i in 1:nrow(bcolor_ind_high3)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high3[i, 1], j = bcolor_ind_high3[i, 2], bg = '#004600') }} if(length(bcolor_ind_high4) != 0){ for(i in 1:nrow(bcolor_ind_high4)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high4[i, 1], j = bcolor_ind_high4[i, 2], bg = '#004600') }} if(length(bcolor_ind_high5) != 0){ for(i in 1:nrow(bcolor_ind_high5)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high5[i, 1], j = bcolor_ind_high5[i, 2], bg = '#ff5b5b') }} if(length(bcolor_ind_high6) != 0){ for(i in 1:nrow(bcolor_ind_high6)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high6[i, 1], j = bcolor_ind_high6[i, 2], bg = '#ff5b5b') }} if(length(bcolor_ind_high7) != 0){ for(i in 1:nrow(bcolor_ind_high7)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high7[i, 1], j = bcolor_ind_high7[i, 2], bg = '#8e0000') }} if(length(bcolor_ind_high8) != 0){ for(i in 1:nrow(bcolor_ind_high8)) { flx2 <- flx2 %>% bg(i = bcolor_ind_high8[i, 1], j = bcolor_ind_high8[i, 2], bg = '#8e0000') }} }else if(params$indiType == "lowBest"){ if(length(bcolor_ind_low1) != 0){ for(i in 1:nrow(bcolor_ind_low1)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low1[i, 1], j = bcolor_ind_low1[i, 2], bg = '#78b64e') }} if(length(bcolor_ind_low2) != 0){ for(i in 1:nrow(bcolor_ind_low2)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low2[i, 1], j = bcolor_ind_low2[i, 2], bg = '#78b64e') }} if(length(bcolor_ind_low3) != 0){ for(i in 1:nrow(bcolor_ind_low3)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low3[i, 1], j = bcolor_ind_low3[i, 2], bg = '#004600') }} if(length(bcolor_ind_low4) != 0){ for(i in 1:nrow(bcolor_ind_low4)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low4[i, 1], j = bcolor_ind_low4[i, 2], bg = '#004600') }} if(length(bcolor_ind_low5) != 0){ for(i in 1:nrow(bcolor_ind_low5)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low5[i, 1], j = bcolor_ind_low5[i, 2], bg = '#ff5b5b') }} if(length(bcolor_ind_low6) != 0){ for(i in 1:nrow(bcolor_ind_low6)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low6[i, 1], j = bcolor_ind_low6[i, 2], bg = '#ff5b5b') }} if(length(bcolor_ind_low7) != 0){ for(i in 1:nrow(bcolor_ind_low7)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low7[i, 1], j = bcolor_ind_low7[i, 2], bg = '#8e0000') }} if(length(bcolor_ind_low8) != 0){ for(i in 1:nrow(bcolor_ind_low8)) { flx2 <- flx2 %>% bg(i = bcolor_ind_low8[i, 1], j = bcolor_ind_low8[i, 2], bg = '#8e0000') }} } if(length(color_ind1) != 0){ for(i in 1:nrow(color_ind1)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind1[i, 1], j = color_ind1[i, 2], part = "body", value = as_paragraph("C", as_sub("1"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind2) != 0){ for(i in 1:nrow(color_ind2)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind2[i, 1], j = color_ind2[i, 2], part = "body", value = as_paragraph("C", as_sub("2"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind3) != 0){ for(i in 1:nrow(color_ind3)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind3[i, 1], j = color_ind3[i, 2], part = "body", value = as_paragraph("C", as_sub("3"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind4) != 0){ for(i in 1:nrow(color_ind4)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind4[i, 1], j = color_ind4[i, 2], part = "body", value = as_paragraph("C", as_sub("4"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind5) != 0){ for(i in 1:nrow(color_ind5)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind5[i, 1], j = color_ind5[i, 2], part = "body", value = as_paragraph("C", as_sub("5"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind6) != 0){ for(i in 1:nrow(color_ind6)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind6[i, 1], j = color_ind6[i, 2], part = "body", value = as_paragraph("C", as_sub("6"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind7) != 0){ for(i in 1:nrow(color_ind7)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind7[i, 1], j = color_ind7[i, 2], part = "body", value = as_paragraph("C", as_sub("7"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind8) != 0){ for(i in 1:nrow(color_ind8)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind8[i, 1], j = color_ind8[i, 2], part = "body", value = as_paragraph("C", as_sub("8"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind9) != 0){ for(i in 1:nrow(color_ind9)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind9[i, 1], j = color_ind9[i, 2], part = "body", value = as_paragraph("C", as_sub("9"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind10) != 0){ for(i in 1:nrow(color_ind10)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind10[i, 1], j = color_ind10[i, 2], part = "body", value = as_paragraph("C", as_sub("10"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind11) != 0){ for(i in 1:nrow(color_ind11)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind11[i, 1], j = color_ind11[i, 2], part = "body", value = as_paragraph("C", as_sub("11"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind12) != 0){ for(i in 1:nrow(color_ind12)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind12[i, 1], j = color_ind12[i, 2], part = "body", value = as_paragraph("C", as_sub("12"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind13) != 0){ for(i in 1:nrow(color_ind13)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind13[i, 1], j = color_ind13[i, 2], part = "body", value = as_paragraph("C", as_sub("13"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind14) != 0){ for(i in 1:nrow(color_ind14)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind14[i, 1], j = color_ind14[i, 2], part = "body", value = as_paragraph("C", as_sub("14"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind15) != 0){ for(i in 1:nrow(color_ind15)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind15[i, 1], j = color_ind15[i, 2], part = "body", value = as_paragraph("C", as_sub("15"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind16) != 0){ for(i in 1:nrow(color_ind16)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind16[i, 1], j = color_ind16[i, 2], part = "body", value = as_paragraph("C", as_sub("16"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind17) != 0){ for(i in 1:nrow(color_ind17)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind17[i, 1], j = color_ind17[i, 2], part = "body", value = as_paragraph("C", as_sub("17"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind18) != 0){ for(i in 1:nrow(color_ind18)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind18[i, 1], j = color_ind18[i, 2], part = "body", value = as_paragraph("C", as_sub("18"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind19) != 0){ for(i in 1:nrow(color_ind19)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind19[i, 1], j = color_ind19[i, 2], part = "body", value = as_paragraph("C", as_sub("19"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind20) != 0){ for(i in 1:nrow(color_ind20)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind20[i, 1], j = color_ind20[i, 2], part = "body", value = as_paragraph("C", as_sub("20"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind21) != 0){ for(i in 1:nrow(color_ind21)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind21[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind21[i, 1], j = color_ind21[i, 2], part = "body", value = as_paragraph("D", as_sub("1"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind22) != 0){ for(i in 1:nrow(color_ind22)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind22[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind22[i, 1], j = color_ind22[i, 2], part = "body", value = as_paragraph("D", as_sub("2"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind23) != 0){ for(i in 1:nrow(color_ind23)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind23[i, 1], j = color_ind23[i, 2], part = "body", value = as_paragraph("D", as_sub("3"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind24) != 0){ for(i in 1:nrow(color_ind24)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind24[i, 1], j = color_ind24[i, 2], part = "body", value = as_paragraph("D", as_sub("4"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind25) != 0){ for(i in 1:nrow(color_ind25)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind25[i, 1], j = color_ind25[i, 2], part = "body", value = as_paragraph("D", as_sub("5"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind26) != 0){ for(i in 1:nrow(color_ind26)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind26[i, 1], j = color_ind26[i, 2], part = "body", value = as_paragraph("D", as_sub("6"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind27) != 0){ for(i in 1:nrow(color_ind27)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind27[i, 1], j = color_ind27[i, 2], part = "body", value = as_paragraph("D", as_sub("7"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind28) != 0){ for(i in 1:nrow(color_ind28)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind28[i, 1], j = color_ind28[i, 2], part = "body", value = as_paragraph("D", as_sub("8"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind29) != 0){ for(i in 1:nrow(color_ind29)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind29[i, 1], j = color_ind29[i, 2], part = "body", value = as_paragraph("D", as_sub("9"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind30) != 0){ for(i in 1:nrow(color_ind30)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind30[i, 1], j = color_ind30[i, 2], part = "body", value = as_paragraph("D", as_sub("10"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind31) != 0){ for(i in 1:nrow(color_ind31)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind31[i, 1], j = color_ind31[i, 2], part = "body", value = as_paragraph("D", as_sub("11"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind32) != 0){ for(i in 1:nrow(color_ind32)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind32[i, 1], j = color_ind32[i, 2], part = "body", value = as_paragraph("D", as_sub("12"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind33) != 0){ for(i in 1:nrow(color_ind33)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind33[i, 1], j = color_ind33[i, 2], part = "body", value = as_paragraph("D", as_sub("13"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind34) != 0){ for(i in 1:nrow(color_ind34)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind34[i, 1], j = color_ind34[i, 2], part = "body", value = as_paragraph("D", as_sub("14"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind35) != 0){ for(i in 1:nrow(color_ind35)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind35[i, 1], j = color_ind35[i, 2], part = "body", value = as_paragraph("D", as_sub("15"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind36) != 0){ for(i in 1:nrow(color_ind36)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind36[i, 1], j = color_ind36[i, 2], part = "body", value = as_paragraph("D", as_sub("16"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind37) != 0){ for(i in 1:nrow(color_ind37)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind37[i, 1], j = color_ind37[i, 2], part = "body", value = as_paragraph("D", as_sub("17"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind38) != 0){ for(i in 1:nrow(color_ind38)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind38[i, 1], j = color_ind38[i, 2], part = "body", value = as_paragraph("D", as_sub("18"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind39) != 0){ for(i in 1:nrow(color_ind39)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind39[i, 1], j = color_ind39[i, 2], part = "body", value = as_paragraph("D", as_sub("19"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind40) != 0){ for(i in 1:nrow(color_ind40)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind40[i, 1], j = color_ind40[i, 2], part = "body", value = as_paragraph("D", as_sub("20"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind41) != 0){ for(i in 1:nrow(color_ind41)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind41[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind41[i, 1], j = color_ind1[i, 2], part = "body", value = as_paragraph("S", as_sub("1"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind42) != 0){ for(i in 1:nrow(color_ind42)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind42[i, 1], j = color_ind42[i, 2], part = "body", value = as_paragraph("S", as_sub("2"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind43) != 0){ for(i in 1:nrow(color_ind43)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind43[i, 1], j = color_ind43[i, 2], part = "body", value = as_paragraph("S", as_sub("3"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind44) != 0){ for(i in 1:nrow(color_ind44)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind44[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind44[i, 1], j = color_ind4[i, 2], part = "body", value = as_paragraph("S", as_sub("4"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind45) != 0){ for(i in 1:nrow(color_ind45)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind45[i, 1], j = color_ind45[i, 2], part = "body", value = as_paragraph("S", as_sub("5"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind46) != 0){ for(i in 1:nrow(color_ind46)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind46[i, 1], j = color_ind46[i, 2], part = "body", value = as_paragraph("S", as_sub("6"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind47) != 0){ for(i in 1:nrow(color_ind47)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind47[i, 1], j = color_ind47[i, 2], part = "body", value = as_paragraph("S", as_sub("7"), as_chunk("\U1F815", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind48) != 0){ for(i in 1:nrow(color_ind48)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind48[i, 1], j = color_ind48[i, 2], part = "body", value = as_paragraph("S", as_sub("8"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind49) != 0){ for(i in 1:nrow(color_ind49)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind49[i, 1], j = color_ind49[i, 2], part = "body", value = as_paragraph("S", as_sub("9"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind50) != 0){ for(i in 1:nrow(color_ind50)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind50[i, 1], j = color_ind50[i, 2], part = "body", value = as_paragraph("S", as_sub("10"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind51) != 0){ for(i in 1:nrow(color_ind51)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind51[i, 1], j = color_ind51[i, 2], part = "body", value = as_paragraph("S", as_sub("11"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind52) != 0){ for(i in 1:nrow(color_ind52)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind52[i, 1], j = color_ind52[i, 2], part = "body", value = as_paragraph("S", as_sub("12"), as_chunk("\U1F816", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind53) != 0){ for(i in 1:nrow(color_ind53)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind53[i, 1], j = color_ind53[i, 2], part = "body", value = as_paragraph("S", as_sub("13"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F815", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind54) != 0){ for(i in 1:nrow(color_ind54)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind54[i, 1], j = color_ind54[i, 2], part = "body", value = as_paragraph("S", as_sub("14"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F816", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind55) != 0){ for(i in 1:nrow(color_ind55)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind55[i, 1], j = color_ind55[i, 2], part = "body", value = as_paragraph("S", as_sub("15"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind56) != 0){ for(i in 1:nrow(color_ind56)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind56[i, 1], j = color_ind56[i, 2], part = "body", value = as_paragraph("S", as_sub("16"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind57) != 0){ for(i in 1:nrow(color_ind57)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind57[i, 1], j = color_ind57[i, 2], part = "body", value = as_paragraph("S", as_sub("17"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind58) != 0){ for(i in 1:nrow(color_ind58)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind58[i, 1], j = color_ind58[i, 2], part = "body", value = as_paragraph("S", as_sub("18"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind59) != 0){ for(i in 1:nrow(color_ind59)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind59[i, 1], j = color_ind59[i, 2], part = "body", value = as_paragraph("S", as_sub("19"), as_chunk("\U1F817", props = fp_text_default(color = "#0D95D0",bold=TRUE)), as_chunk("\U1F817", props = fp_text_default(color = "#000000",bold=TRUE))))} } if(length(color_ind60) != 0){ for(i in 1:nrow(color_ind60)) { # flx2<- flx2 %>% #bg(i = color_ind1[i, 1], j = color_ind1[i, 2], bg = '#dbe7c2') flx2 <- flx2 %>% compose(i = color_ind60[i, 1], j = color_ind60[i, 2], part = "body", value = as_paragraph(NA))} } flx2 <- bold(flx2, bold = TRUE, part = "all") save_as_image(flx2,path = "flextab.png", zoom = 6, webshot = "webshot2") # tabeHTMLfinal <- tabe_tot(workMatSco2, # first_last_years = paste(ptime_0,"/", ptime_t,sep=""))# "First/Last") # # out_packed_list$patterns <- list(css="<style>\n.vertical-text {\n\tdisplay: inline-block;\n\toverflow: hidden;\n\twidth: 1.3em;\n}\n.vertical-text__inner {\n\tdisplay: inline-block;\n\twhite-space: nowrap;\n\tline-height: 1.5;\n\ttransform: translate(0,100%) rotate(-90deg);\n\ttransform-origin: 0 0;\n}\n\n.vertical-text__inner:after {\n\tcontent: \"\";\n\tdisplay: block;\n\tmargin: -1.5em 0 100%;\n}\n\n\nbody {\n\tfont: 11px/1 Arial, sans-serif;\n}\n\ntable {\n\tmargin-top: 1em;\n}\nth,td {\n\tborder: 1px solid;\n\ttext-align:center;\n\tfont-weight: normal;\n\tpadding: 0.5em;\n}\nhead{\n color: blue;\n}\n</style>", # html=tabeHTMLfinal) # # cat(tabeHTMLfinal)
flxtab <- "flextab.png" include_graphics(flxtab)
Legend:
r params$indiType
conv <- "gg_patt_conv_annotated.png" # p1 <- readPNG(conv, native = T, info = T) include_graphics(conv)
div <- "gg_patt_div_annotated.png" # p2 <- readPNG(div, native = T, info = T) include_graphics(div)
sam <- "gg_patt_same_annotated.png" # p3 <- readPNG(sam, native = T, info = T) include_graphics(sam)
Legend:
r params$indiType
r params$aggregation
meanThe graph shows the sum of the yearly deviations from r params$aggregation
unweighted average in each of the countries selected.
curCountries <- params$country if(!is.na(otherCountries[1])){ curCountries <- c(curCountries, otherCountries) } res_dev_pt <- demea_change(wkDF, timeName=timeName, time_0 = ptime_0, time_t = ptime_t, sele_countries= curCountries, doplot=TRUE) out_packed_list$Tot_inc_dec <- res_dev_pt$res print(res_dev_pt$res$res_graph)
curCountries <- params$country if(!is.na(otherCountries[1])){ curCountries <- c(curCountries, otherCountries) } res_dev_pt <- dev_mean_plot(wkDF, timeName = timeName, time_0 = ptime_0, time_t = ptime_t, countries = curCountries, indiType = params$indiType, displace = 0.15, axis_name_y = "Countries", val_alpha = 0.95, debug=FALSE) print(res_dev_pt$res) out_packed_list$Tot_inc_dec <- res_dev_pt$res
The graph gives an overall idea of the distance of the Member States from the best performing country. It is calculated as the sum of the yearly deviations from the best performer.
res_dep_best <- departure_best(wkDF, timeName =timeName, indiType = params$indiType) res_dep_best_plt <- departure_best_plot( cumulaDifVector = res_dep_best$res$cumulated_dif, mainCountry = params$country, countries = otherCountries, displace = 0.25, axis_name_y = "Countries", val_alpha = 0.95, debug=FALSE) print(res_dep_best_plt$res) out_packed_list$Dep_best <- res_dep_best_plt$res
The table shows the country ranking in the r params$aggregation
in each year, with 1 being the best performing country in r params$aggregation
in a given year.
res_rank <- country_ranking(wkDF,timeName=timeName, time_0=ptime_0, time_t= ptime_t, typeInd= params$indiType )$res coloRR <- c(timeName,curCountries) tmpRR <- t(res_rank[,coloRR] ) if(nrow(tmpRR) > 2){ matPosFinal <- tmpRR[-1,] }else{ matPosFinal <- rbind(tmpRR[-1,]) dimnames(matPosFinal) <- list(dimnames(tmpRR)[[1]][2],NULL) } kable(matPosFinal,"html",col.names = kableExtra::linebreak(c(tmpRR[1,]),align="c" )) %>% kableExtra::kable_styling(c("striped","bordered"), full_width = F, position="left") %>% kableExtra::row_spec(0, angle = -60)
if(ncol(tmpRR) > 10){ print(tmpRR[,1:10]) tmptmp <- lapply(seq(10,ncol(tmpRR),10),function(vx){ cat("\n\n") print(tmpRR[,-c(1:vx)]) }) }else{ print(tmpRR) }
save(out_packed_list,file = out_packed_name)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.