Ero sivun ”Ympäristöterveysindikaattori” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(→‎Syykaaviot: makegraphs)
Rivi 314: Rivi 314:
* Malliajo 4.8.2018 [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=Ry8KUGVzaxoh4xdG]
* Malliajo 4.8.2018 [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=Ry8KUGVzaxoh4xdG]


<rcode name="graphs" label="Tallenna graafilista">
<rcode name="graphs" label="Luo funktio makegraphs joka tekee graafilistan (vain kehittäjille) embed=1">
# Tämä on koodi Op_fi5810/graphs sivulla [[Ympäristöterveysindikaattori]]
# Tämä on koodi Op_fi5810/graphs sivulla [[Ympäristöterveysindikaattori]]
library(OpasnetUtils)
library(OpasnetUtils)


objects.latest("Op_en3861",code_name="ecd_create") # [[Extended causal diagram]] ecd_create, fillprev, splizzeria
#' @title makegraphs function converts scraped data.frames into a standard data.frames for graphs (nodes and edges separately)
#' @param verbose if TRUE, show intermediate results and explanations
#' @return a list with two data.frames for making a diagram: first for nodes, second for edges


sotkanet <- "http://www.sotkanet.fi/sotkanet/fi/metadata/indicators/"
makegraphs <- function(verbose=FALSE) {
  dummy <- EvalOutput(Ovariable(
    "dummy",
    dependencies=data.frame(
      Name = c("ecd_create", "fillprev", "splizzeria"),
      Ident = rep("Op_en3861/ecd_create",3)
    ),
    formula = function(...) {
      return(data.frame(Result=1))
    }
  ))


meta <- opasnet.csv( # Väärä koodaus mutta miksi? Tiedosto on oikein.
  sotkanet <- "http://www.sotkanet.fi/sotkanet/fi/metadata/indicators/"
  "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
 
  wiki="opasnet_fi",
  if(exists("insightTables")) {
  unzip="meta.csv",
    meta <- insightTables$meta
  sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
  } else {
)  
    meta <- opasnet.csv( # Väärä koodaus mutta miksi? Tiedosto on oikein.
meta <- meta[1:24,] # Because Avoimuus vai harkinta has not been defined yet.
      "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
out <- list()
      wiki="opasnet_fi",
for(i in 1:nrow(meta)) {
      unzip="meta.csv",
  print(i)
      sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
  temp  <- opasnet.csv(
    )  
    "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
  }
    wiki="opasnet_fi",
 
    unzip=gsub("[Öö\xf6]","o",gsub("[ÄÅäå\xe4]","a",paste0(meta$Ilmio[i],".csv"))),
  out <- list()
    sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
  for(i in 1:nrow(meta)) {
    if(verbose) print(i)
    if(exists("insightTables")) {
      temp <- insightTables[[i]]
    } else {
      temp  <- opasnet.csv(
        "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
        wiki="opasnet_fi",
        unzip=gsub("[Öö\xf6]","o",gsub("[ÄÅäå\xe4]","a",paste0(meta$Ilmio[i],".csv"))),
        sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
      )
    }
   
    if(verbose) oprint(head(temp))
   
    # Convert structural names to English
    colnames(temp)[colnames(temp)=="Lyhenne"] <- "label" # Columns defined by DiagrammeR start with small letter
    colnames(temp)[colnames(temp)=="Luokka"] <- "type"
    colnames(temp)[colnames(temp)%in% c("Toimenpide","Nimi","Asia")] <- "Item"
    colnames(temp)[colnames(temp) %in% c("Predikaatti","Relaatio")] <- "Relation"
    colnames(temp)[colnames(temp) %in% c("Objekti","Kohde")] <- "Object"
    colnames(temp)[colnames(temp) %in% c("Kuvaus","Lisatietoa","Kommentteja")] <- "Description"
    colnames(temp)[colnames(temp) %in% c("Aihe1","Tehtavakokonaisuus")] <- "Teema"
    colnames(temp)[colnames(temp) %in% c("Tunnistenumero","Obs")] <- "Nro"
    if(!"label" %in% colnames(temp)) temp$label <- NA
    temp$label <- ifelse(is.na(temp$label), substr(temp$Item,1,50), temp$label)
    temp$Oldid = paste(meta$Id[i],{if("Nro" %in% colnames(temp)) temp$Nro else 1:nrow(temp)},sep=".")
    temp[is.na(colnames(temp))] <- NULL
    colnames(temp) <- gsub("[- ]", ".", colnames(temp))
    out[[i]] <- temp
  }
  #  Table-specific adjustments
  out[[5]] <- splizzeria(out[[5]], cols = c("Ulottuvuus","Osiotyyppi","JHS.luokka"), split = "/") # HYTE
  out[[6]] <- splizzeria(out[[6]], cols = c("JHS.luokka"), split = ",") # LAPE
 
  # HYTE JA LAPE ELI SOTEARV
 
  tmp <- data.frame()
  for(i in (1:nrow(meta))[meta$Tyyppi=="sotearv"]) {
    if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
  }
  tmp <- orbind(orbind(orbind(orbind(
    data.frame(
      Oldid = tmp$Oldid,
      type = paste(tmp$Teema, "indikaattori",sep="-"),
      Item = tmp$Item,
      Relation = "ulottuvuus",
      Object = tmp$Ulottuvuus,
      URL = ifelse(
        is.na(as.numeric(substr(tmp$Sotkanet.id,1,4))),
        NA,
        paste0(sotkanet, substr(tmp$Sotkanet.id,1,4))
      ),
      Description = tmp$Ryhman.perustelut,
      label = ifelse(is.na(tmp$label),substr(tmp$Item,1,30),tmp$label),
      stringsAsFactors = FALSE
    ),
    data.frame(
      Item = tmp$Item,
      Relation = "osiotyyppi",
      Object = tmp$Osiotyyppi,
      stringsAsFactors = FALSE
    )),
    data.frame(
      Item = tmp$Item,
      Relation = "discussed in",
      Object = tmp$Tietolahde,
      stringsAsFactors = FALSE
    )),
    data.frame(
      Item = tmp$Item,
      Relation = "JHS-luokka",
      Object = tmp$JHS.luokka,
      stringsAsFactors = FALSE
    )),
    data.frame(
      type = "index",
      Item = unique(c(tmp$Ulottuvuus, tmp$JHS.luokka, tmp$Osiotyyppi)),
      stringsAsFactors=FALSE
    )
   )
   )
  if(verbose) oprint(head(tmp))
  d <- tmp
    
    
   oprint(head(temp))
   #### Hyvinvointikertomukset
    
    
   # Convert structural names to English
   tmp <- data.frame()
  colnames(temp)[colnames(temp)=="Lyhenne"] <- "label" # Columns defined by DiagrammeR start with small letter
  for(i in (1:nrow(meta))[meta$Tyyppi=="hvkertomus"]) {
  colnames(temp)[colnames(temp)=="Luokka"] <- "type"
    if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
  colnames(temp)[colnames(temp)%in% c("Toimenpide","Nimi","Asia")] <- "Item"
  }
  colnames(temp)[colnames(temp) %in% c("Predikaatti","Relaatio")] <- "Relation"
  tmp <- data.frame(
  colnames(temp)[colnames(temp) %in% c("Objekti","Kohde")] <- "Object"
     Oldid=paste0("HVkertomus", tmp$Nro),
  colnames(temp)[colnames(temp) %in% c("Kuvaus","Lisatietoa","Kommentteja")] <- "Description"
     type="indikaattori",
  colnames(temp)[colnames(temp) %in% c("Aihe1","Tehtavakokonaisuus")] <- "Teema"
     Item=tmp$Item,
  colnames(temp)[colnames(temp) %in% c("Tunnistenumero","Obs")] <- "Nro"
     label=substr(tmp$Item,1,30),
  if(!"label" %in% colnames(temp)) temp$label <- NA
     Relation="on osana",
  temp$label <- ifelse(is.na(temp$label), substr(temp$Item,1,50), temp$label)
     Object=tmp$Teema,
  temp$Oldid = paste(meta$Id[i],{if("Nro" %in% colnames(temp)) temp$Nro else 1:nrow(temp)},sep=".")
     Description = paste(tmp$Item, tmp$Teema, tmp$Vaestoryhma, sep=". "),
  out[[i]] <- temp
     URL = "https://www.hyvinvointikertomus.fi/#/welcome",
}
#  Table-specific adjustments
out[[5]] <- splizzeria(out[[5]], cols = c("Ulottuvuus","Osiotyyppi","JHS.luokka"), split = "/") # HYTE
out[[6]] <- splizzeria(out[[6]], cols = c("JHS.luokka"), split = ",") # LAPE
 
# HYTE JA LAPE ELI SOTEARV
 
tmp <- data.frame()
for(i in (1:nrow(meta))[meta$Tyyppi=="sotearv"]) {
  if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
}
tmp <- orbind(orbind(orbind(orbind(
  data.frame(
     Oldid = tmp$Oldid,
     type = paste(tmp$Teema, "indikaattori",sep="-"),
     Item = tmp$Item,
    Relation = "ulottuvuus",
    Object = tmp$Ulottuvuus,
    URL = ifelse(
      is.na(as.numeric(substr(tmp$Sotkanet.id,1,4))),
      NA,
      paste0(sotkanet, substr(tmp$Sotkanet.id,1,4))
    ),
    Description = tmp$Ryhman.perustelut,
     label = ifelse(is.na(tmp$label),substr(tmp$Item,1,30),tmp$label),
    stringsAsFactors = FALSE
  ),
  data.frame(
    Item = tmp$Item,
     Relation = "osiotyyppi",
     Object = tmp$Osiotyyppi,
     stringsAsFactors = FALSE
  )),
  data.frame(
    Item = tmp$Item,
    Relation = "discussed in",
    Object = tmp$Tietolahde,
    stringsAsFactors = FALSE
  )),
  data.frame(
    Item = tmp$Item,
    Relation = "JHS-luokka",
     Object = tmp$JHS.luokka,
    stringsAsFactors = FALSE
  )),
  data.frame(
    type = "index",
    Item = unique(c(tmp$Ulottuvuus, tmp$JHS.luokka, tmp$Osiotyyppi)),
     stringsAsFactors=FALSE
     stringsAsFactors=FALSE
   )
   )
)
   if(verbose) oprint(head(tmp))
oprint(head(tmp))
  d <- orbind(d, tmp)
d <- tmp
 
 
  ########## KUVA-indikaattorit
#### Hyvinvointikertomukset
 
 
  tmp <- data.frame()
tmp <- data.frame()
  for(i in (1:nrow(meta))[meta$Tyyppi=="kuvaind"]) {
for(i in (1:nrow(meta))[meta$Tyyppi=="hvkertomus"]) {
    if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
   if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
   }
}
   tmp <- data.frame(
tmp <- data.frame(
     Oldid=paste0("Kuva", tmp$Nro),
  Oldid=paste0("HVkertomus", tmp$Nro),
     type="indikaattori",
  type="indikaattori",
  Item=tmp$Item,
  label=substr(tmp$Item,1,30),
  Relation="on osana",
  Object=tmp$Teema,
  Description = paste(tmp$Item, tmp$Teema, tmp$Vaestoryhma, sep=". "),
  URL = "https://www.hyvinvointikertomus.fi/#/welcome",
  stringsAsFactors=FALSE
)
oprint(head(tmp))
d <- orbind(d, tmp)
 
########## KUVA-indikaattorit
 
tmp <- data.frame()
for(i in (1:nrow(meta))[meta$Tyyppi=="kuvaind"]) {
  if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
}
tmp <- data.frame(
  Oldid=paste0("Kuva", tmp$Nro),
  type="indikaattori",
  Item=tmp$Item,
  label=substr(tmp$Item,1,30),
  Relation="on osana",
  Object=tmp$Teema,
  Description = paste(tmp$Item, tmp$Teema, sep=". "),
  URL = "https://thl.fi/fi/tutkimus-ja-kehittaminen/tutkimukset-ja-hankkeet/sote-tietopohjan-kehittamishanke/kansallisen-mittariston-valmistelu-kuva-indikaattorit-",
  stringsAsFactors=FALSE
)
oprint(head(tmp))
d <- orbind(d, tmp)
 
## Oletusmuotoiset taulut (Ympäristöterveys, Lasten ja aikuisten lihavuus, Yleiset ja erityiset luokittelut)
 
tmp <- data.frame()
for(i in (1:nrow(meta))[meta$Tyyppi %in% c("oletus", "keskustelu","arviointi")]) {
   if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
}
tmp <- splizzeria(tmp, cols="Object", split=",")
tmp$URL <- ifelse(
   grepl("http",tmp$URL),
  tmp$URL,
  ifelse(
    is.na(as.numeric(substr(tmp$URL,1,4))),
    NA,
    paste0(sotkanet, substr(tmp$URL,1,4))
  )
)
oprint(head(tmp))
d <- orbind(d, tmp)
 
####### HNH2035-toimenpiteet
 
# Tämä koodi on tilapäinen ja pitäisi korjata alkuperäiseen taulukkoon. Sano Sonjalle.
repl <- array(c(
  "S&C säätiö","Smart&Clean",
  "yhteistyössä","",
  "yhteistyö","",
  "Yhteistyö:","",
  "ja","",
  "HSY Ilmastoinfo","HSY/Ilmastoinfo",
  "HSY:n Ilmastoinfo","HSY/Ilmastoinfo",
  "Kanslia ELO/Hanki","Kanslia/ELO",
  "GEO","Geo",
  "kasko","Kasko",
  "sote","Sote",
  "palvelukeskus","Palvelukeskus",
  "ympa","Ympa",
  "RYA","Rya",
  "PALU","Palu",
  "YMPA","Ympa",
  "MAKA","Maka",
  "KYMP","Kymp",
  "Smart&Clean -säätiö","Smart&Clean",
  "Smart & Clean -säätiö","Smart&Clean",
  "virium","Virium",
  "nuorisopalvelur","Nuorisopalvelut",
  "kanslia","Kanslia",
  "Kaupunginkanslia","Kanslia",
  "kaupunginkanslia","Kanslia",
  "(HSL), (HSY)",",",
  "ympa","Ympa",
  "Palu/Ympa","Ympa"
),
dim=c(2,28)
)
 
tmp <- out[[8]]
for(i in 1:ncol(repl)) {
  tmp$Vastuu <- gsub(repl[1,i],repl[2,i],tmp$Vastuu)
}
tmp <- fillprev(tmp,"Teema")
tmp <- tmp[!is.na(tmp$Nro) , ]
 
# tmp <- splizzeria(tmp, cols="Kustannukset", split="/") # Not used because doubles relations
 
temp2 <- splizzeria(tmp, cols="Vastuu", split=",")
 
tmp <- orbind(
  data.frame(
     Oldid=paste0("HNH2035tp.", tmp$Nro),
     type="HNH2035-toimenpide",
     Item=tmp$Item,
     Item=tmp$Item,
     label=substr(tmp$Item,1,30),
     label=substr(tmp$Item,1,30),
     Relation="teema",
     Relation="on osana",
     Object=tmp$Teema,
     Object=tmp$Teema,
     Description = paste(tmp$Item, tmp$Aikajanne, tmp$Vaativuus, tmp$Kustannukset, sep=". "),
     Description = paste(tmp$Item, tmp$Teema, sep=". "),
     URL = "https://www.hel.fi/static/liitteet/kaupunkiymparisto/julkaisut/julkaisut/HNH-2035-toimenpideohjelma.pdf",
     URL = "https://thl.fi/fi/tutkimus-ja-kehittaminen/tutkimukset-ja-hankkeet/sote-tietopohjan-kehittamishanke/kansallisen-mittariston-valmistelu-kuva-indikaattorit-",
     stringsAsFactors=FALSE
     stringsAsFactors=FALSE
  )
  if(verbose) oprint(head(tmp))
  d <- orbind(d, tmp)
 
  ## Oletusmuotoiset taulut (Ympäristöterveys, Lasten ja aikuisten lihavuus, Yleiset ja erityiset luokittelut)
 
  tmp <- data.frame()
  for(i in (1:nrow(meta))[meta$Tyyppi %in% c("oletus", "keskustelu","arviointi")]) {
    if(nrow(tmp)==0) tmp <- out[[i]] else tmp <- orbind(tmp, out[[i]])
  }
  tmp <- splizzeria(tmp, cols="Object", split=",")
  tmp$URL <- ifelse(
    grepl("http",tmp$URL),
    tmp$URL,
    ifelse(
      is.na(as.numeric(substr(tmp$URL,1,4))),
      NA,
      paste0(sotkanet, substr(tmp$URL,1,4))
    )
  )
  if(verbose) oprint(head(tmp))
  d <- orbind(d, tmp)
 
  ####### HNH2035-toimenpiteet
 
  # Tämä koodi on tilapäinen ja pitäisi korjata alkuperäiseen taulukkoon. Sano Sonjalle.
  repl <- array(c(
    "S&C säätiö","Smart&Clean",
    "yhteistyössä","",
    "yhteistyö","",
    "Yhteistyö:","",
    "ja","",
    "HSY Ilmastoinfo","HSY/Ilmastoinfo",
    "HSY:n Ilmastoinfo","HSY/Ilmastoinfo",
    "Kanslia ELO/Hanki","Kanslia/ELO",
    "GEO","Geo",
    "kasko","Kasko",
    "sote","Sote",
    "palvelukeskus","Palvelukeskus",
    "ympa","Ympa",
    "RYA","Rya",
    "PALU","Palu",
    "YMPA","Ympa",
    "MAKA","Maka",
    "KYMP","Kymp",
    "Smart&Clean -säätiö","Smart&Clean",
    "Smart & Clean -säätiö","Smart&Clean",
    "virium","Virium",
    "nuorisopalvelur","Nuorisopalvelut",
    "kanslia","Kanslia",
    "Kaupunginkanslia","Kanslia",
    "kaupunginkanslia","Kanslia",
    "(HSL), (HSY)",",",
    "ympa","Ympa",
    "Palu/Ympa","Ympa"
   ),
   ),
   data.frame(
   dim=c(2,28)
     Oldid=paste0("HNH2035tp.", temp2$Nro),
  )
    Item=temp2$Item,
 
    label=substr(temp2$Item,1,30),
  tmp <- out[[8]]
    Relation="vastuullisena",
  for(i in 1:ncol(repl)) {
    Object=temp2$Vastuu,
    tmp$Vastuu <- gsub(repl[1,i],repl[2,i],tmp$Vastuu)
    stringsAsFactors=FALSE
  }
  tmp <- fillprev(tmp,"Teema")
  tmp <- tmp[!is.na(tmp$Nro) , ]
 
  # tmp <- splizzeria(tmp, cols="Kustannukset", split="/") # Not used because doubles relations
 
  temp2 <- splizzeria(tmp, cols="Vastuu", split=",")
 
  tmp <- orbind(
    data.frame(
      Oldid=paste0("HNH2035tp.", tmp$Nro),
      type="HNH2035-toimenpide",
      Item=tmp$Item,
      label=substr(tmp$Item,1,30),
      Relation="teema",
      Object=tmp$Teema,
      Description = paste(tmp$Item, tmp$Aikajanne, tmp$Vaativuus, tmp$Kustannukset, sep=". "),
      URL = "https://www.hel.fi/static/liitteet/kaupunkiymparisto/julkaisut/julkaisut/HNH-2035-toimenpideohjelma.pdf",
      stringsAsFactors=FALSE
     ),
    data.frame(
      Oldid=paste0("HNH2035tp.", temp2$Nro),
      Item=temp2$Item,
      label=substr(temp2$Item,1,30),
      Relation="vastuullisena",
      Object=temp2$Vastuu,
      stringsAsFactors=FALSE
    )
   )
   )
)
  if(verbose) oprint(head(tmp))
oprint(head(tmp))
  d <- orbind(d, tmp)
d <- orbind(d, tmp)
 
  ########################### Create graph list with everything needed for ecd_graph
 
  d$label <- ifelse(is.na(d$label), substr(d$Item,1,30), d$label)
 
  fix <- matrix(c(
    "Kustannukset ja RR",  "Kustannukset ja rahoituksen riittävyys",
    "Saatavuua",  "saatavuus"
  ),nrow=2)
  tmp <- d$Object[!is.na(d$Relation) & !is.na(d$Object) & d$Relation=="ulottuvuus"]
  for(i in 1:ncol(fix)) {
    tmp <- ifelse(tmp==fix[1,i],fix[2,i],tmp)
  }
  d$Object[!is.na(d$Relation) & !is.na(d$Object) & d$Relation=="ulottuvuus"] <- tmp
 
  for(i in 1:ncol(d)) {
    d[[i]] <- gsub("[\"']", " ", d[[i]])
  }
 
  graafilista <- ecd_create(d)


########################### Create graph list with everything needed for ecd_graph
  if(verbose) {
 
    cat("Datataulukko.\n")
d$label <- ifelse(is.na(d$label), substr(d$Item,1,30), d$label)
    oprint(head(d))
 
   
fix <- matrix(c(
    cat("Graafin solmuja\n")
  "Kustannukset ja RR",  "Kustannukset ja rahoituksen riittävyys",
    oprint(head(graafilista$nodes_df))
  "Saatavuua",  "saatavuus"
    cat("Graafin nuolia\n")
),nrow=2)
    oprint(head(graafilista$edges_df))
tmp <- d$Object[!is.na(d$Relation) & !is.na(d$Object) & d$Relation=="ulottuvuus"]
   }
for(i in 1:ncol(fix)) {
 
   tmp <- ifelse(tmp==fix[1,i],fix[2,i],tmp)
  return(graafilista)
}
}
d$Object[!is.na(d$Relation) & !is.na(d$Object) & d$Relation=="ulottuvuus"] <- tmp
for(i in 1:ncol(d)) {
  d[[i]] <- gsub("[\"']", " ", d[[i]])
}
cat("Datataulukko.\n")
oprint(head(d))


graafilista <- ecd_create(d)
objects.store(makegraphs)
cat("Graafin solmuja\n")
cat("Function makegraphs stored.\n")
oprint(head(graafilista$nodes_df))
cat("Graafin nuolia\n")
oprint(head(graafilista$edges_df))
objects.store(graafilista)
cat("List graafilista with nodes and edges for dgr_graph stored.\n")
</rcode>
</rcode>



Versio 6. elokuuta 2018 kello 09.05




Ympäristöterveysindikaattori on elinympäristön tiettyä ominaisuutta mittaava asia, joka kertoo ympäristön terveellisyydestä ihmiselle.

Kysymys

Mitkä ovat hyödyllisiä indikaattoreita Suomen ympäristöterveystilanteen seuraamiseksi ja parantamiseksi?

Vastaus

Ympäristötervyden keskeiset tekijät, toimenpiteet ja mittarit.

Nämä indikaattorit ovat olemassa tai suunnitteilla:

  • Pienhiukkaspitoisuuden väestöpainotettu vuosikeskiarvo (Yhteistyötilat)
  • Sisätilaongelmista koulussa raportoivat koululaiset
  • Vesivälitteisten epidemioiden lukumäärät ja sairastuneiden lukumäärät
  • Elintarvikevälitteisten epidemioiden lukumäärät ja sairastuneiden lukumäärät

Näkemysverkot Shinyssa

Tämä koodi piirtää näkemysverkkoja Shinylla. Aluksi valitaan aihepiiri, sen jälkeen askelien määrä verkossa aiheen mukaisista kiintopisteistä lähtien. Koodi vaatii paketit OpasnetUtils, DiagrammeR ja Shiny. arg5167: . Uusi koodi, jossa shinyssa on jo kelvollinen käyttöliittymä. --Jouni Tuomisto (keskustelu) 29. heinäkuuta 2018 kello 20.05 (UTC) (type: ; paradigms: science: relevant comment)

+ Näytä koodi

Perustelut

Data

Näkemysverkkojen tietotauluja

Data on muodostettu koodilla:

+ Näytä koodi

Graafilista 4.8.2018 [1]

+ Näytä koodi

Työlista

Ajankohtaisia töitä tärkeysjärjestyksessä

  • Lukekaa vastine Homströmille ja kommentoikaa a) tekstin selkeyttä ja b) sisältöä. Koetetaan saada juttu lähtemään sunnuntaina.
    • Kirjoittakaa eri keskustelijoiden argumentit päätöksenteon avoimuuteen liittyen saman sivun alkuun.
  • Indikaattorin ja ilmiön välinen suhde on "kuvaa" (käänteisrelaatio "kuvautuu") Taulukoista löytyy tämmöisessä tilanteessa relaatiota "omistaa osan", ja nämä pitäisi vaihtaa oikeaan relaatioon.
  • HNH2035-ohjelman (ks alla) lopussa on listattu organisaatioiden pitkät nimet. Nämä pitäisi täydentää taulukkoon toimijat sivulla Hiilineutraali Helsinki 2035#Data. Nykyään taulukko sisältää erilaisia nimiversioita samasta organisaatiosta, mutta ne voi poistaa, koska ne korjataan alkuperäiseen googlesheetiin. arg5114: . Tehty. Toimijoista jotka olivat yhdistetty kauttaviivalla (esim. Kanslia/Aluerakentaminen) oletin jälkimmäisen kuuluvan ensimmäiseen, ja liitin ne toisiinsa relaatiolla "on osana". --Pieta Tuomisto (keskustelu) 29. heinäkuuta 2018 kello 10.10 (UTC) (type: ; paradigms: science: relevant comment)
  • Asentakaa koneillenne R, Rstudio ja paketit OpasnetUtils, rvest, ggplot2, DiagrammeR ja Shiny. Sen jälkeen kuvien piirtämisen pitäisi onnistua ajamalla omalla koneella koodi kohdassa #Vastaus.
  • Ilmasto-ohjelman toimenpiteitä pitää alkaa liittämään niiden valmistelemiin päätöksiin, niistä koituviin kustannuksiin/investointeihin tai muihin yleisempiin ilmiöihin. Näistä päätöksistä, kustannuksista ja ilmiöistä pitää siis tehdä omat olionsa. Oliot listataan Goherr-kaaviot-taulukon Ruuhkamaksu-sheetille.
    • Uudet relaatiot 'valmistelee/prepares' ja 'kustantaa/pays'. Käänteisrelaatiot (inverse) ovat 'valmistelijana/prepared by' ja 'maksajana/paid by'. Nämä ovat toiminnallisia relaatioita (operational link).
    • Uusi substanssiolio 'kustannus/expense'. Tavanomainen kustannus substanssityypin olio (tummanvihreän värinen ympyrä) mutta lisäksi on 'kustannustavoite/expense objective' joka on yhdistelmä kaikista kustannuksista ja jota pyritään päätöksenteossa minimoimaan. Kustannustavoite on tyyppiä objective. ----#: . Näiden kuvaaminen oikeisiin taulukoihin tuli Pietalle tehtäväksi. --Jouni Tuomisto (keskustelu) 25. heinäkuuta 2018 kello 07.17 (UTC) (type: truth; paradigms: science: comment) ----#: . Uudet relaatiot liitetty op_en:Structure of shared understanding sivulla olevaan taulukkoon. --Pieta Tuomisto(keskustelu) 27. heinäkuuta 2018 kello 09.30 (UTC) (type: truth; paradigms: science: comment)
    • Uusi relaatio 'omistaa perustelun/has rationale', käänteisrelaationa 'perustelee/is rationale for'. Nämä ovat toiminnallisia relaatioita (operational link).
  • Luo uusia solmuja ja linkkejä, jotka kytkevät yhteen Helsingin ilmasto-ohjelman ja a) ruuhkamaksukeskustelua, b) Sitran 100 ilmastotekoa, tai c) ympäristöterveysindikaattoreita. Myös muita kaavioita voi yhdistellä jos löytyy kytkentöjä. Kaikki aihepiirit ja linkit taulukoihin on lueteltu Yhteistyötiloissa.
  • Katso sivun op_en:Congestion charge keskusteluja ja täydennä niihin eri paradigman mukaisia relaatioita.arg6137: . Tehty. Kaikki argumentit on myös vaihdettu uuden templaatin mukaisiksi ja korjattu niiden totuuksia ja relevansseja. --Pieta Tuomisto (keskustelu) 29. heinäkuuta 2018 kello 12.09 (UTC) (type: ; paradigms: science: relevant comment) Käytettävät paradigmat:
    • science: templaatissa mainittu relaatio on science-paradigman mukainen. Perussääntö: argumentti on epäpätevä, jos siinä ei ole viittausta taustatietoon (havaintoihin) tai jos sitä vastaan hyökätään pätevällä argumentilla.
    • unattackedstand: Perussääntö: argumentti on epäpätevä, jos sitä vastaan hyökätään pätevällä argumentilla.
    • personaltine: Perussääntö: argumentti on epäpätevä, jos sen on esittänyt Tine Bizjak tai Tamara Gajst tai jos sitä vastaan hyökätään pätevällä argumentilla.
  • Tutustu uuteen kuvaukseen Helsingin ilmastopolitiikasta:
  • Tutustu sanastoon sivulla op_en:Structure of shared understanding ja kommentoi kummallisuuksia ja epäselvyyksiä.
  • Tutustu ympäristöterveyden indikaattoreihin sivulla Ympäristöterveys
  • Käytä uutta argument-templaattia toimintonapeista, kun haluat kommentoida sivun sisältöä Opasnetissä. ←--#: . Huom! Ohje muuttunut. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)

Jounin työt

  • Ääkköset eivät toimi. Etsi vika ja korjaa. Johtunee graafin tallennusvaiheesta.
  • Name ei näy hoveratessa hiirellä, nimenomaan Goherr-taulukoissa. Lisää Item tooltipiin. ←--#: . Tehty. --Jouni Tuomisto (keskustelu) 25. heinäkuuta 2018 kello 07.17 (UTC) (type: truth; paradigms: science: defence)
  • Lisää argumenttinapppulat myös suomenkieliseen Opasnettiin. ←--#: . Tehty. --Jouni Tuomisto (keskustelu) 25. heinäkuuta 2018 kello 07.17 (UTC) (type: truth; paradigms: science: defence)

Tehdyt työt

  • Palkat maksettu 23.7.2018 asti.
  • Goherr
    • Täydennä Goherr-projektin käsin piirrettyjen kaavioiden tiedot Google-taulukkoon Goherr-kaaviot tässä hakemistossa. ←--#: . Tehty. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)
    • Ohjelma täyttää tyhjiä rivejä edellisillä samasta sarakkeesta, sillä Helsingin taulukossa teemarivi. Muodostuu ongelmaksi Goherreissa kun käsitellään oliota joka ei tee itse yhtään nuolta. ←--#: . Korjattu. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)
  • Ruuhkamaksu
    • Lisää kaikkiin sivun op_en:Talk:Congestion charge keskusteluihin argumenttien tunnisteet, jotka ovat muotoa keskustelunnimi.juoksevanumero eli esim. health.4. Keskustelut nimetään ylhäältä alas seuraavasti: airquality, health, choice, economy, mobility, unfair, tragedy, dynamic, inefficient, distribution. ←--#: . Tehty. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)
  • Ilmastonmuutos
    • Tee Google sheet, jonne listataan kaikki Sitran 100 fiksua tekoa siten, että sarakkeisiin tulevat. Mieti yhteisesti kattava teemalista ja käytä sitä yhdistämään Helsingin ja Sitran toimepiteitä. ←--#: . Tehty. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)
    • Nimi (arjen teon nimi)
    • Suuruus (onko vaikutus pieni, keskisuuri vai suuri), tämän voisi merkata descriptioniin
    • Aihepiiri (liittyykö teko asumiseen, matkustamiseen jne)
    • URL sivulle, jossa teko esitellään
  • Menetelmällisiä töitä
    • Tutustu kaavioiden muotoiluihin sivulla op_en:Extended causal diagram ja kommentoi kummallisuuksia ja epäselvyyksiä. Kaavioiden toteutus R-paketilla DiagrammeR nettisivu, dokumentaatio.
    • Kommentoi ideaa sivulla op_en:Template:Argument ja
      tägien käytöstä parametrien löytymiseksi sivulta. (Koskee Pietaa tai muitakin jos osaatte html:ää). ←--#: . Valmis. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)
    • Kommentoi paradigmaidean käytettävyyttä ja mielekkyyttä yleensä ja sen sovellettavuutta eri paradigmojen osalta erityisesti. ←--#: . Valmis. --Jouni Tuomisto (keskustelu) 24. heinäkuuta 2018 kello 04.47 (UTC) (type: truth; paradigms: science: defence)
  • Tutustu kuvaukseen ruuhkamaksuista (Decision analysis and risk management 2017 -kurssilla tehty) ⇤--#: . Ei kannata tutustua näihin vaan uudempiin sisältöihin. --Jouni Tuomisto (keskustelu) 25. heinäkuuta 2018 kello 07.17 (UTC) (type: truth; paradigms: science: attack)

Laskenta

Syykaaviot

  • Taulukko näkemysverkoiksi soveltuvista taulukoista Yhteistyötiloissa [4]
  • Ehdotus sosiaali- ja terveyspalveluiden uudeksi kansalliseksi mittaristoksi VN-TEAS 15.3.2017 [5]
  • Alueuudistus: tietojohtaminen [6]
  • KUVA-mittaristo 23.4.2018 [7]
  • Tietoikkuna [8]
  • Sotkanet [9]


+ Näytä koodi

Sisäilma kouluissa

Kouluterveyskysely tuottaa jotakin tietoa myös sisäilmasta, oppimisympäristöstä yleensä ja oppilaiden raportoimista yleisistä oireista. Katso lisätietoa näistä linkeistä:

+ Näytä koodi

Indikaattorien lataus Sotkanettiin

+ Näytä koodi

Sotearvioinnin koodi liittyen ympäristöterveyteen

+ Näytä koodi

Katso myös