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

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
Rivi 29: Rivi 29:


<rcode label="Ajettava omalla koneella">
<rcode label="Ajettava omalla koneella">
# Tämä on koodi Op_fi5810/ sivulla [[Ympäristöterveysindikaattori]]
# Tämä on koodi Op_fi5810/ sivulla [[Ympäristöterveysindikaattori]]
library(OpasnetUtils)
library(OpasnetUtils)
Rivi 42: Rivi 41:
   print(i)
   print(i)
   if(grepl("google.com", meta$URL[i])) {
   if(grepl("google.com", meta$URL[i])) {
     out <- gsheet2tbl(meta$URL[i])[-(1:(meta$Alkurivi[i]-2)) , ]
     out <- gsheet2tbl(meta$URL[i])
    if(meta$Alkurivi[i]>2) out <- out[-(1:(meta$Alkurivi[i]-2)) , ]
   } else {
   } else {
     if(meta$Tyyppi[i]=="keskustelu") {
     if(meta$Tyyppi[i]=="keskustelu") {
Rivi 51: Rivi 51:
     }
     }
   }
   }
   coln <- as.character(types$`Column names`[types$Type==meta$Tyyppi[i]])
   coln <- trimws(strsplit(as.character(types$`Column names`[types$Type==meta$Tyyppi[i]]),split=",")[[1]])
   if(colnames(out)[1]=="Obs") coln <- paste0("Obs,",out)
   if(colnames(out)[1]=="Obs") coln <- c("Obs",coln)
   colnames(out) <- trimws(strsplit(coln,split=",")[[1]])
   colnames(out) <- coln
   write.csv(
   write.csv(
     out,
     out,
     gsub("[Öö]","o",gsub("[ÄÅäå]","a",paste0(meta$Ilmio[i],".csv"))),
     gsub("[Öö]","o",gsub("[ÄÅäå]","a",paste0(meta$Ilmio[i],".csv"))),
     fileEncoding="UTF-8"
     quote=TRUE, row.names=FALSE, fileEncoding="UTF-8"
   )
   )
}
}
Rivi 129: Rivi 129:
html_text(html_nodes(disc, css=".argument .title"))
html_text(html_nodes(disc, css=".argument .title"))
</rcode>
</rcode>
* Malliajo 17.7.2018 [http://fi.opasnet.org/fi-opwiki/index.php?title=Toiminnot:RTools&id=8EdefyYKnMKb5Pt1]


<rcode name="graphs" label="Tallenna graafiolio gr" graphics=0>
<rcode name="graphs" label="Tallenna graafiolio gr" graphics=0>
Rivi 136: Rivi 138:
objects.latest("Op_en3861",code_name="ecd_create") # [[Extended causal diagram]] ecd_create, fillprev, splizzeria
objects.latest("Op_en3861",code_name="ecd_create") # [[Extended causal diagram]] ecd_create, fillprev, splizzeria


server <- TRUE
sotkanet <- "http://www.sotkanet.fi/sotkanet/fi/metadata/indicators/"
sotkanet <- "http://www.sotkanet.fi/sotkanet/fi/metadata/indicators/"
kouluterveyskysely <- "https://sampo.thl.fi/pivot/prod/fi/ktk/ktk1/summary_perustulokset?alue_0=87869&mittarit_0=200138&mittarit_1=187196&mittarit_2=199373&vuosi_2017_0=v2017"
kouluterveyskysely <- "https://sampo.thl.fi/pivot/prod/fi/ktk/ktk1/summary_perustulokset?alue_0=87869&mittarit_0=200138&mittarit_1=187196&mittarit_2=199373&vuosi_2017_0=v2017"
Rivi 142: Rivi 145:
# Sotkanet.ID = tietoikkuna.indicatorID
# Sotkanet.ID = tietoikkuna.indicatorID


meta <- opasnet.csv(
if(server) {
  "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
  meta <- opasnet.csv( # Väärä koodaus mutta miksi? Tiedosto on oikein.
  wiki="opasnet_fi",
    "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
  unzip="meta.csv",
    wiki="opasnet_fi",
  sep=",",header=TRUE,stringsAsFactors=FALSE,fileEncoding="UTF-8"
    unzip="meta.csv",
)  
    sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
oprint(meta)
  )  
} else {
  meta<- ad.table(
    "C:/_Eivarmisteta/Näkemysverkkojen tietotauluja/meta.csv",
    sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
  )
}


out <- list()
out <- list()
for(i in 1:nrow(meta)) {
for(i in 1:nrow(meta)) {
   temp  <- opasnet.csv(
   print(i)
    "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
  if(server) {
    wiki="opasnet_fi",
    temp  <- opasnet.csv(
    unzip=gsub("[Öö\xf6]","o",gsub("[ÄÅäå\xe4]","a",paste0(meta$Ilmio[i],".csv"))),
      "3/3e/N%C3%A4kemysverkkojen_tietotauluja.zip",
     sep=",",header=TRUE,stringsAsFactors=FALSE,fileEncoding="UTF-8"
      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"
     )
  } else {
    temp <- ad.csv(
      paste0(
        "C:/_Eivarmisteta/",
        gsub("[Öö\xf6]","o",gsub("[ÄÅäå\xe4]","a",paste0(meta$Ilmio[i],".csv")))
      ),
      sep=",",row.names=NULL,header=TRUE,stringsAsFactors=FALSE,fileEncoding = "UTF-8"
    )
   }
   # Convert structural names to English
   # Convert structural names to English
   colnames(temp)[colnames(temp)=="Lyhenne"] <- "label" # Columns defined by DiagrammeR start with small letter
   colnames(temp)[colnames(temp)=="Lyhenne"] <- "label" # Columns defined by DiagrammeR start with small letter
Rivi 175: Rivi 195:
out[[5]] <- splizzeria(out[[5]], cols = c("Ulottuvuus","Osiotyyppi","JHS.luokka"), split = "/") # HYTE
out[[5]] <- splizzeria(out[[5]], cols = c("Ulottuvuus","Osiotyyppi","JHS.luokka"), split = "/") # HYTE
out[[6]] <- splizzeria(out[[6]], cols = c("JHS.luokka"), split = ",") # LAPE
out[[6]] <- splizzeria(out[[6]], cols = c("JHS.luokka"), split = ",") # LAPE
#  temp$Object <- tolower(temp$Object) # Tämä ei haluta tehdä kaikille. mutta mille?
# Aikuisten lihavuuden säätöjä
#for(i in 1:4) out[[7]][[i]] <- tolower(out[[7]][[i]])


# HYTE JA LAPE ELI SOTEARV
# HYTE JA LAPE ELI SOTEARV
Rivi 187: Rivi 203:
}
}


d3 <- orbind(orbind(orbind(
d3 <- orbind(orbind(orbind(orbind(
   data.frame(
   data.frame(
     Oldid = d3$Oldid,
     Oldid = d3$Oldid,
     type = paste(d3$Tehtavakokonaisuus, "indikaattori",sep="-"),
     type = paste(d3$Teema, "indikaattori",sep="-"),
     Item = d3$Item,
     Item = d3$Item,
     Relation = "ulottuvuus",
     Relation = "ulottuvuus",
Rivi 220: Rivi 236:
     Object = d3$JHS.luokka,
     Object = d3$JHS.luokka,
     stringsAsFactors = FALSE
     stringsAsFactors = FALSE
  )),
  data.frame(
    type = "index",
    Ìtem = unique(c(d3$Ulottuvuus, d3$JHS.luokka, d3$Osiotyyppi)),
    stringsAsFactors=FALSE
   )
   )
)  
)


## Oletusmuotoiset taulut (Ympäristöterveys, Lasten ja aikuisten lihavuus, Yleiset ja erityiset luokittelut)
## Oletusmuotoiset taulut (Ympäristöterveys, Lasten ja aikuisten lihavuus, Yleiset ja erityiset luokittelut)


d2 <- data.frame()
d2 <- data.frame()
for(i in (1:nrow(meta))[meta$Tyyppi=="oletus"]) {
for(i in (1:nrow(meta))[meta$Tyyppi %in% c("oletus", "keskustelu")]) {
   if(nrow(d2)==0) d2 <- out[[i]] else d2 <- orbind(d2, out[[i]])
   if(nrow(d2)==0) d2 <- out[[i]] else d2 <- orbind(d2, out[[i]])
}
}
Rivi 275: Rivi 296:


d1 <- out[[8]]
d1 <- out[[8]]
for(i in 1:ncol(repl)) {
#for(i in 1:ncol(repl)) {
  d1$Vastuu <- gsub(repl[1,i],repl[2,i],d1$Vastuu)
d1$Vastuu <- gsub(repl[1,i],repl[2,i],d1$Vastuu)
}
#}
d1 <- fillprev(d1,"Teema")
d1 <- fillprev(d1,"Teema")
d1 <- d1[!is.na(d1$Nro) , ]
d1 <- d1[!is.na(d1$Nro) , ]
Rivi 286: Rivi 307:


d1 <- orbind(
d1 <- orbind(
   cbind(
   data.frame(
     Oldid=paste0("HNH2035/tp.", d1$Nro),
     Oldid=paste0("HNH2035/tp.", d1$Nro),
     type="HNH2035-toimenpide",
     type="HNH2035-toimenpide",
Rivi 293: Rivi 314:
     Relation="teema",
     Relation="teema",
     Object=d1$Teema,
     Object=d1$Teema,
     Description = paste(d1$Aikajanne, d1$Vaativuus, d1$Kustannukset, sep=". ")
     Description = paste(d1$Item, d1$Aikajanne, d1$Vaativuus, d1$Kustannukset, sep=". "),
    stringsAsFactors=FALSE
   ),
   ),
   data.frame(
   data.frame(
     Item=temp$Item,
     Item=temp$Item,
     Relation="vastuullisena",
     Relation="vastuullisena",
     Object=temp$Vastuu
     Object=temp$Vastuu,
    stringsAsFactors=FALSE
   )
   )
)
)
Rivi 306: Rivi 329:
d <- orbind(orbind(d3, d2), d1)
d <- orbind(orbind(d3, d2), d1)
d$label <- ifelse(is.na(d$label), substr(d$Item,1,30), d$label)
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"] <- tolower(tmp)


gr <- ecd_create(d)
gr <- ecd_create(d)


gr <- deselect_edges(gr, get_selection(gr))
gr <- deselect_edges(gr, get_selection(gr))
gr <- select_edges(gr, conditions = grepl("Hyte", gr$edges_df$Oldid))
gr <- select_edges(gr, conditions = grepl("Gohgov", gr$edges_df$Oldid))


#gr <- deselect_nodes(gr, get_selection(gr))
#gr <- deselect_nodes(gr, get_selection(gr))
Rivi 360: Rivi 393:
     cbind(
     cbind(
       Kys = measure[2,i],
       Kys = measure[2,i],
       read.csv(paste(url,measure[1,i],sep=""),sep=";",encoding="UTF-8")
       ad.csv(paste(url,measure[1,i],sep=""),sep=";",encoding="UTF-8")
     )
     )
   )
   )

Versio 17. heinäkuuta 2018 kello 13.55




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

Perustelut

Data

Näkemysverkkojen tietotauluja

Data on muodostettu koodilla:

+ Näytä koodi

Työlista

  • Täydennä Goherr-projektin käsin piirrettyjen kaavioiden tiedot Google-taulukkoon Goherr-kaaviot tässä hakemistossa.
  • Katso sivun op_en:Congestion charge keskusteluja ja täydennä niihin eri paradigman mukaisia relaatioita. 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.
  • 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.
  • 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:ää).
  • Kommentoi paradigmaidean käytettävyyttä ja mielekkyyttä yleensä ja sen sovellettavuutta eri paradigmojen osalta erityisesti.
  • 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ä.
    • Nimi (arjen teon nimi)
    • Suuruus (onko vaikutus pieni, keskisuuri vai suuri)
    • Aihepiiri (liittyykö teko asumiseen, matkustamiseen jne)
    • URL sivulle, jossa teko esitellään
  • Tutustu uuteen kuvaukseen Helsingin ilmastopolitiikasta:
  • Tutustu kuvaukseet ruuhkamaksuista (Decision analysis and risk management 2017 -kurssilla tehty)
  • 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ä näitä keskustelumuotoiluja kun haluat kommentoida sivun sisältöä Opasnetissä: ----#: . Huom! Joihinkin on lisätty lisäparametreja muita paradigmoja varten. Parametrien järjestys on ratkaiseva. --Jouni Tuomisto (keskustelu) 9. heinäkuuta 2018 kello 11.00 (UTC) (type: truth; paradigms: science: comment)
    • Kommentti:
      {{comment|Aina argumentin tunniste.|Kommentoiva argumentti.|--~~~~|unattackedstand|comment|invalid|personaltine|attack}}
    • Puolusta:
      {{defend|Aina argumentin tunniste.|Puolustava argumentti.|--~~~~|personaltine|defend|invalid}}
    • Hyökkää (vastusta):
      {{attack|Aina argumentin tunniste.|Hyökkäävä argumentti.|--~~~~}}

Syykaaviot


+ Näytä koodi

  • Malliajo 17.7.2018 [2]

+ 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