knitr::opts_chunk$set(echo = FALSE)
knitr::read_chunk("../../R/tool.R")
knitr::read_chunk("../../R/data.R")
knitr::read_chunk("../../R/ccze_init_table.R")
<<init>>
<<tool>>
<<data>>
setHeader(title=c("Prix à la consommation : indices harmonisés","Consumer prices: harmonised indices"),
                    legend=c("variation en pourcentage","percentage change"))
#get data & metadata
data.collection <- getDataCollection(params$data.directory)
data.y.0 <- getData(data.collection,params$data.collection[1]) #annual average
meta <- data.y.0[[1]] #metadata
data.y.0 <- data.y.0[[2]]
data.m.yoy.0 <- tail(getData(data.collection,params$data.collection[2])[[2]][,1:33],6) #monthly change
data.m.mc.0 <- tail(getData(data.collection,params$data.collection[2])[[2]][,c(1,34:65)],6) #year-on-year change

#select series
series <- c(1, #variable
            2, #France
            3, #Germany
            4, #Austria
            5, #Belgium
            6, #Cyprus
            7, #Spain
            8, #Estonia
            9, #Finland
            10, #Greece
            11, #Ireland
            12, #Italy
            13, #Latvia
            14, #Lithuania
            15, #Luxembourg,
            16, #Malta
            17, #Netherlands
            18, #Portugal
            19, #Slovakia
            20, #Slovenia
            21, #Euro area
            22, #Bulgaria
            23, #Croatia
            24, #Denmark
            25, #Hungary
            26, #Poland
            27, #Romania
            28, #United Kingdom
            29, #Sweden
            30, #Czech Republic
            31, #European union
            32, #United States
            33)  #Japan

if (all(is.na(tail(data.y.0[,tail(series,length(series)-1)],1)))) { #if last obs is NA then shift one previous
  end <- nrow(data.y.0)-1
  begin <- end-3
  data.y <- t(data.y.0[begin:end,series])
  rm(begin,end)
} else
  data.y <- t(tail(data.y.0[,series],3))

data.m.mc <- t(data.m.mc.0[,series])
data.m.yoy <- t(data.m.yoy.0[,series])

#set metadata:
met <- as.character(meta[2,series])
met <- trimws(unlist(lapply(strsplit(met,":"),"[[",1)))
met <- countrynameFR2EN(met)

#generate datatable:

#header:

col.m.mc <- zoo::as.yearmon(as.character(data.m.mc[1,]),"%Y-%m")
col.m.yoy <- zoo::as.yearmon(as.character(data.m.yoy[1,]),"%Y-%m")
# sep.style <- "box-shadow:-2px 0 0 black;"

sketch = htmltools::withTags(table(
  thead(
    tr(
      th(colspan=1,rowspan=3),
      th(colspan=3,rowspan=1,ifelse(params$lang=="FR","Moyenne annuelle","Annual average")),
      th(colspan=6,rowspan=1,ifelse(params$lang=="FR","Variation mensuelle","Monthly variation"),
         style=sep.style),
      th(colspan=6,rowspan=1,ifelse(params$lang=="FR","Glissement annuel","Year-on-year"),
         style=sep.style)
    ),
    tr(
      lapply(as.character(data.y[1,]), th, rowspan=2),
      getTH(base::table(as.character(format(col.m.mc,"%Y"))),"Y",sep.style),
      getTH(base::table(as.character(format(col.m.yoy,"%Y"))),"Y",sep.style)
    ),
    tr(
      getTH(as.character(format(col.m.mc,"%b")),"M",sep.style),
      getTH(as.character(format(col.m.yoy,"%b")),"M",sep.style)
    )
  )
))

#end header

#data
data <- as.data.frame(cbind(data.y,data.m.mc,data.m.yoy), stringsAsFactors=F)[-1,]
t1 <- genDataTable(data,met[-1],sketch,
                   countries.highlight=c("FR","EA","EU","US","JP"),
                   sep.col=c(5,11),sep.style=sep.style)

#ouput the table
t1
#generate footer:

footer <- htmltools::withTags(
  list(
    p(style="text-align: left; font-style: italic; line-height: 50%;",
      ifelse(params$lang=="FR",
             "Indices harmonisés sauf pour les États-Unis et le Japon",
             "Harmonised indices except for the United States and Japan"))
  )
)

footer <- setFooter(footer,source=c("nationales, Eurostat","national data, Eurostat"))

#output footer:
footer


lcamus/pubstat documentation built on May 27, 2019, 1:45 p.m.