+ Näytä koodi- Piilota koodi
library(sorvi)
library(OpasnetBaseUtils)
library(xtable)
kunnat <- data.frame(kunta = c("Akaa", "Alajärvi", "Alavieska", "Alavus", "Asikkala",
"Askola", "Aura", "Brändö", "Eckerö", "Enonkoski", "Enontekiö", "Espoo", "Eura",
"Eurajoki", "Evijärvi", "Finström", "Forssa", "Föglö", "Geta", "Haapajärvi", "Haapavesi",
"Hailuoto", "Halsua", "Hamina", "Hammarland", "Hankasalmi", "Hanko", "Harjavalta",
"Hartola", "Hattula", "Haukipudas", "Hausjärvi", "Heinävesi", "Helsinki", "Vantaa",
"Hirvensalmi", "Hollola", "Honkajoki", "Huittinen", "Humppila", "Hyrynsalmi", "Hyvinkää",
"Hämeenkyrö", "Hämeenlinna", "Heinola", "Ii", "Iisalmi", "Iitti", "Ikaalinen", "Ilmajoki",
"Ilomantsi", "Inari", "Inkoo", "Isojoki", "Isokyrö", "Imatra", "Jalasjärvi", "Janakkala",
"Joensuu", "Jokioinen", "Jomala", "Joroinen", "Joutsa", "Juankoski", "Juuka", "Juupajoki",
"Juva", "Jyväskylä", "Jämijärvi", "Jämsä", "Järvenpää", "Kaarina", "Kaavi", "Kajaani",
"Kalajoki", "Kangasala", "Kangasniemi", "Kankaanpää", "Kannonkoski", "Kannus", "Karijoki",
"Karjalohja", "Karkkila", "Karstula", "Karvia", "Kaskinen", "Kauhajoki", "Kauhava",
"Kauniainen", "Kaustinen", "Keitele", "Kemi", "Keminmaa", "Kemiönsaari", "Kempele",
"Kerava", "Kerimäki", "Kesälahti", "Keuruu", "Kihniö", "Kiikoinen", "Kiiminki", "Kinnula",
"Kirkkonummi", "Kitee", "Kittilä", "Kiuruvesi", "Kivijärvi", "Kokemäki", "Kokkola",
"Kolari", "Konnevesi", "Kontiolahti", "Korsnäs", "Hämeenkoski", "Koski Tl", "Kotka",
"Kouvola", "Kristiinankaupunki", "Kruunupyy", "Kuhmo", "Kuhmoinen", "Kumlinge", "Kuopio",
"Kuortane", "Kurikka", "Kustavi", "Kuusamo", "Outokumpu", "Kyyjärvi", "Kärkölä",
"Kärsämäki", "Kökar", "Köyliö", "Kemijärvi", "Lahti", "Laihia", "Laitila", "Lapinlahti",
"Lappajärvi", "Lappeenranta", "Lapinjärvi", "Lapua", "Laukaa", "Lavia", "Lemi", "Lemland",
"Lempäälä", "Leppävirta", "Lestijärvi", "Lieksa", "Lieto", "Liminka", "Liperi", "Loimaa",
"Loppi", "Loviisa", "Luhanka", "Lumijoki", "Lumparland", "Larsmo", "Luumäki", "Luvia",
"Lohja", "Länsi-Turunmaa", "Maalahti", "Maaninka", "Mariehamn", "Marttila", "Masku",
"Merijärvi", "Merikarvia", "Miehikkälä", "Mikkeli", "Muhos", "Multia", "Muonio",
"Mustasaari", "Muurame", "Mynämäki", "Myrskylä", "Mäntsälä", "Mänttä-Vilppula",
"Mäntyharju", "Naantali", "Nakkila", "Nastola", "Nilsiä", "Nivala", "Nokia", "Nousiainen",
"Nummi-Pusula", "Nurmes", "Nurmijärvi", "Närpiö", "Orimattila", "Oripää", "Orivesi",
"Oulainen", "Oulu", "Oulunsalo", "Padasjoki", "Paimio", "Paltamo", "Parikkala", "Parkano",
"Pelkosenniemi", "Perho", "Pertunmaa", "Petäjävesi", "Pieksämäki", "Pielavesi",
"Pietarsaari", "Pedersören kunta", "Pihtipudas ", "Pirkkala", "Polvijärvi", "Pomarkku",
"Pori", "Pornainen", "Posio", "Pudasjärvi", "Pukkila", "Punkaharju", "Punkalaidun",
"Puolanka", "Puumala", "Pyhtää", "Pyhäjoki", "Pyhäjärvi", "Pyhäntä", "Pyhäranta",
"Pälkäne", "Pöytyä", "Porvoo", "Raahe", "Raasepori", "Raisio", "Rantasalmi", "Ranua",
"Rauma", "Rautalampi", "Rautavaara", "Rautjärvi", "Reisjärvi", "Riihimäki", "Ristiina",
"Ristijärvi", "Rovaniemi", "Ruokolahti", "Ruovesi", "Rusko", "Rääkkylä", "Saarijärvi",
"Salla", "Salo", "Saltvik", "Sastamala", "Sauvo", "Savitaipale", "Savonlinna",
"Savukoski", "Seinäjoki", "Sievi", "Siikainen", "Siikajoki", "Siikalatva", "Siilinjärvi",
"Simo", "Sipoo", "Siuntio", "Sodankylä", "Soini", "Somero", "Sonkajärvi", "Sotkamo",
"Sottunga", "Sulkava", "Sund", "Suomenniemi", "Suomussalmi", "Suonenjoki", "Sysmä",
"Säkylä", "Vaala", "Taipalsaari", "Taivalkoski", "Taivassalo", "Tammela", "Tampere",
"Tarvasjoki", "Tervo", "Tervola", "Teuva", "Tohmajärvi", "Toholampi", "Toivakka",
"Tornio", "Turku", "Pello", "Tuusniemi", "Tuusula", "Tyrnävä", "Töysä", "Ulvila",
"Urjala", "Utajärvi", "Utsjoki", "Uurainen", "Uusikaarlepyy", "Uusikaupunki", "Vaasa",
"Valkeakoski", "Valtimo", "Varkaus", "Vehmaa", "Vesanto", "Vesilahti", "Veteli",
"Vieremä", "Vihanti", "Vihti", "Viitasaari", "Vimpeli", "Virolahti", "Virrat", "Vårdö",
"Vähäkyrö", "Vöyri", "Yli-Ii", "Ylitornio", "Ylivieska", "Ylöjärvi", "Ypäjä", "Ähtäri",
"Äänekoski"),
maakunta = c("Pirkanmaa", "Etelä-Pohjanmaa", "Pohjois-Pohjanmaa", "Etelä-Pohjanmaa",
"Päijät-Häme", "Uusimaa", "Varsinais-Suomi", "Ahvenanmaa", "Ahvenanmaa", "Etelä-Savo",
"Lappi", "Uusimaa", "Satakunta", "Satakunta", "Etelä-Pohjanmaa", "Ahvenanmaa",
"Kanta-Häme", "Ahvenanmaa", "Ahvenanmaa", "Pohjois-Pohjanmaa", "Pohjois-Pohjanmaa",
"Pohjois-Pohjanmaa", "Keski-Pohjanmaa", "Kymenlaakso", "Ahvenanmaa", "Keski-Suomi",
"Uusimaa", "Satakunta", "Päijät-Häme", "Kanta-Häme", "Pohjois-Pohjanmaa", "Kanta-Häme",
"Etelä-Savo", "Uusimaa", "Uusimaa", "Etelä-Savo", "Päijät-Häme", "Satakunta", "Satakunta",
"Kanta-Häme", "Kainuu", "Uusimaa", "Pirkanmaa", "Kanta-Häme", "Päijät-Häme",
"Pohjois-Pohjanmaa", "Pohjois-Savo", "Kymenlaakso", "Pirkanmaa", "Etelä-Pohjanmaa",
"Pohjois-Karjala", "Lappi", "Uusimaa", "Etelä-Pohjanmaa", "Pohjanmaa", "Etelä-Karjala",
"Etelä-Pohjanmaa", "Kanta-Häme", "Pohjois-Karjala", "Kanta-Häme", "Ahvenanmaa",
"Etelä-Savo", "Keski-Suomi", "Pohjois-Savo", "Pohjois-Karjala", "Pirkanmaa", "Etelä-Savo",
"Keski-Suomi", "Satakunta", "Keski-Suomi", "Uusimaa", "Varsinais-Suomi", "Pohjois-Savo",
"Kainuu", "Pohjois-Pohjanmaa", "Pirkanmaa", "Etelä-Savo", "Satakunta", "Keski-Suomi",
"Keski-Pohjanmaa", "Etelä-Pohjanmaa", "Uusimaa", "Uusimaa", "Keski-Suomi", "Satakunta",
"Pohjanmaa", "Etelä-Pohjanmaa", "Etelä-Pohjanmaa", "Uusimaa", "Keski-Pohjanmaa",
"Pohjois-Savo", "Lappi", "Lappi", "Varsinais-Suomi", "Pohjois-Pohjanmaa", "Uusimaa",
"Etelä-Savo", "Pohjois-Karjala", "Keski-Suomi", "Pirkanmaa", "Satakunta",
"Pohjois-Pohjanmaa", "Keski-Pohjanmaa", "Uusimaa", "Pohjois-Karjala", "Lappi",
"Pohjois-Savo", "Keski-Suomi", "Satakunta", "Keski-Pohjanmaa", "Lappi", "Keski-Suomi",
"Pohjois-Karjala", "Pohjanmaa", "Päijät-Häme", "Varsinais-Suomi", "Kymenlaakso",
"Kymenlaakso", "Pohjanmaa", "Pohjanmaa", "Kainuu", "Keski-Suomi", "Ahvenanmaa",
"Pohjois-Savo", "Etelä-Pohjanmaa", "Etelä-Pohjanmaa", "Varsinais-Suomi",
"Pohjois-Pohjanmaa", "Pohjois-Karjala", "Keski-Suomi", "Päijät-Häme", "Pohjois-Pohjanmaa",
"Ahvenanmaa", "Satakunta", "Lappi", "Päijät-Häme", "Pohjanmaa", "Varsinais-Suomi",
"Pohjois-Savo", "Etelä-Pohjanmaa", "Etelä-Karjala", "Uusimaa", "Etelä-Pohjanmaa",
"Keski-Suomi", "Satakunta", "Etelä-Karjala", "Ahvenanmaa", "Pirkanmaa", "Pohjois-Savo",
"Keski-Pohjanmaa", "Pohjois-Karjala", "Varsinais-Suomi", "Pohjois-Pohjanmaa",
"Pohjois-Karjala", "Varsinais-Suomi", "Kanta-Häme", "Uusimaa", "Keski-Suomi",
"Pohjois-Pohjanmaa", "Ahvenanmaa", "Pohjanmaa", "Etelä-Karjala", "Satakunta", "Uusimaa",
"Varsinais-Suomi", "Pohjanmaa", "Pohjois-Savo", "Ahvenanmaa", "Varsinais-Suomi",
"Varsinais-Suomi", "Pohjois-Pohjanmaa", "Satakunta", "Kymenlaakso", "Etelä-Savo",
"Pohjois-Pohjanmaa", "Keski-Suomi", "Lappi", "Pohjanmaa", "Keski-Suomi",
"Varsinais-Suomi", "Uusimaa", "Uusimaa", "Pirkanmaa", "Etelä-Savo", "Varsinais-Suomi",
"Satakunta", "Päijät-Häme", "Pohjois-Savo", "Pohjois-Pohjanmaa", "Pirkanmaa",
"Varsinais-Suomi", "Uusimaa", "Pohjois-Karjala", "Uusimaa", "Pohjanmaa", "Päijät-Häme",
"Varsinais-Suomi", "Pirkanmaa", "Pohjois-Pohjanmaa", "Pohjois-Pohjanmaa",
"Pohjois-Pohjanmaa", "Päijät-Häme", "Varsinais-Suomi", "Kainuu", "Etelä-Karjala",
"Pirkanmaa", "Lappi", "Keski-Pohjanmaa", "Etelä-Savo", "Keski-Suomi", "Etelä-Savo",
"Pohjois-Savo", "Pohjanmaa", "Pohjanmaa", "Keski-Suomi", "Pirkanmaa", "Pohjois-Karjala",
"Satakunta", "Satakunta", "Uusimaa", "Lappi", "Pohjois-Pohjanmaa", "Uusimaa",
"Etelä-Savo", "Pirkanmaa", "Kainuu", "Etelä-Savo", "Kymenlaakso", "Pohjois-Pohjanmaa",
"Pohjois-Pohjanmaa", "Pohjois-Pohjanmaa", "Varsinais-Suomi", "Pirkanmaa",
"Varsinais-Suomi", "Uusimaa", "Pohjois-Pohjanmaa", "Uusimaa", "Varsinais-Suomi",
"Etelä-Savo", "Lappi", "Satakunta", "Pohjois-Savo", "Pohjois-Savo", "Etelä-Karjala",
"Keski-Pohjanmaa/Pohjois-Pohjanmaa", "Kanta-Häme", "Etelä-Savo", "Kainuu", "Lappi",
"Etelä-Karjala", "Pirkanmaa", "Varsinais-Suomi", "Pohjois-Karjala", "Keski-Suomi",
"Lappi", "Varsinais-Suomi", "Ahvenanmaa", "Pirkanmaa", "Varsinais-Suomi", "Etelä-Karjala",
"Etelä-Savo", "Lappi", "Etelä-Pohjanmaa", "Keski-Pohjanmaa", "Satakunta",
"Pohjois-Pohjanmaa", "Pohjois-Pohjanmaa", "Pohjois-Savo", "Lappi", "Uusimaa", "Uusimaa",
"Lappi", "Etelä-Pohjanmaa", "Varsinais-Suomi", "Pohjois-Savo", "Kainuu", "Ahvenanmaa",
"Etelä-Savo", "Ahvenanmaa", "Etelä-Karjala", "Kainuu", "Pohjois-Savo", "Päijät-Häme",
"Satakunta", "Kainuu", "Etelä-Karjala", "Pohjois-Pohjanmaa", "Varsinais-Suomi",
"Kanta-Häme", "Pirkanmaa", "Varsinais-Suomi", "Pohjois-Savo", "Lappi", "Etelä-Pohjanmaa",
"Pohjois-Karjala", "Keski-Pohjanmaa", "Keski-Suomi", "Lappi", "Varsinais-Suomi", "Lappi",
"Pohjois-Savo", "Uusimaa", "Pohjois-Pohjanmaa", "Etelä-Pohjanmaa", "Satakunta",
"Pirkanmaa", "Pohjois-Pohjanmaa", "Lappi", "Keski-Suomi", "Pohjanmaa", "Varsinais-Suomi",
"Pohjanmaa", "Pirkanmaa", "Pohjois-Karjala", "Pohjois-Savo", "Varsinais-Suomi",
"Pohjois-Savo", "Pirkanmaa", "Keski-Pohjanmaa", "Pohjois-Savo", "Pohjois-Pohjanmaa",
"Uusimaa", "Keski-Suomi", "Etelä-Pohjanmaa", "Kymenlaakso", "Pirkanmaa", "Ahvenanmaa",
"Pohjanmaa", "Pohjanmaa", "Pohjois-Pohjanmaa", "Lappi", "Pohjois-Pohjanmaa", "Pirkanmaa",
"Kanta-Häme", "Etelä-Pohjanmaa", "Keski-Suomi"))
#head(kunnat)
radon <- op_baseGetData("opasnet_base", "op_fi2759")[, 3:6]
radon$Result <- ifelse(is.na(radon$Result.Text), radon$Result, as.numeric(as.character(radon$Result.Text)))
radon <- radon[, 1:3]
colnames(radon)[3] <- "r"
#head(radon)
radon <- radon[substr(radon$Havainto, 1, 7) != "kaikki.", ]
radon <- radon[radon$Maakunta != "Yhteensä", ]
#print(xtable(reshape(radon, idvar = "Maakunta", timevar = "Havainto", direction = "wide")), type = 'html')
radon$Talo <- ifelse(substr(radon$Havainto, 1, 3) == "pt.", "Pientalo", "Kerrostalo")
radon$P <- substr(radon$Havainto, 4, 10)
#radon$P <- ifelse(substr(radon$Havainto, 4, 10) == "ka", "Keskiarvo", "")
#radon$P <- ifelse(substr(radon$Havainto, 4, 10) == "med", "Mediaani", radon$P)
#radon$P <- ifelse(substr(radon$Havainto, 4, 10) == "max", "Maksimi", radon$P)
#radon$P <- ifelse(substr(radon$Havainto, 4, 10) == "y200", "Yli200", radon$P)
#radon$P <- ifelse(substr(radon$Havainto, 4, 10) == "y400", "Yli400", radon$P)
#radon$P <- ifelse(substr(radon$Havainto, 4, 10) == "y800", "Yli800", radon$P)
#head(radon)
radon <- radon[, colnames(radon)!="Havainto"]
radon <- reshape(radon, idvar = c("Maakunta", "Talo"), timevar = "P", direction = "wide")
radon[is.na(radon)] <- 0
#print(xtable(radon), type = 'html')
j <- 2/3 # c( rep(2/3, 8), 3/4, rep(2/3, 9), 3/4, rep(2/3, 21))
X2 <- radon$r.max
for(i in 1:nrow(radon)) {X2[i] <- min(radon$r.max[i], (radon$r.med[i] + 201)/2)}
X <- data.frame(P1 = radon$r.med, P2 = X2, P3 = radon$r.max, P4 = 201, P5 = 351, P6 = 401, P7 = 601, P8 = 801)
P <- data.frame(
P1 = 50,
P2 = (50 - radon$r.y200),
P3 = (radon$r.y800)*(1-j),
P4 = (radon$r.y200 - radon$r.y400)*j,
P5 = (radon$r.y200 - radon$r.y400)*(1-j),
P6 = (radon$r.y400 - radon$r.y800)*j,
P7 = (radon$r.y400 - radon$r.y800)*(1-j),
P8 = (radon$r.y800)*j)/100
#X <- data.frame(P1 = radon$r.Mediaani, P2 = radon$r.Maksimi, P3 = 201, P4 = 351, P5 = 401, P6 = 601, P7 = 801)
#P <- data.frame(P1 = 50, P2 = radon$r.Yli800*(1-j), P3 = radon$r.Yli200*j, P4 = radon$r.Yli200*(1-j), P5 = radon$r.Yli400*j, P6 = radon$r.Yli400*(1-j), P7 = radon$r.Yli800*j)/100
Xsort <- X
for(i in 1:nrow(X)){Xsort[i, ] <- sort.int(t(X[i, ]), index.return=TRUE)[[2]]}
for(i in 1:nrow(X)){X[i, ] <- X[i, t(Xsort[i, ])]}
for(i in 1:nrow(X)){P[i, ] <- P[i, t(Xsort[i, ])]}
#head(radon)
#print(xtable(Xsort), type = 'html')
#print(xtable(P), type = 'html')
#head(P)
X$P1 <- (radon$r.ka - rowSums((X*P)[, -1])) / 0.5
#print(xtable(X), type = 'html')
#rowSums(X*P)
#rowSums(P)
intP <- P
for(i in 2:ncol(P)){intP[, i] <- rowSums(P[, 1:i])}
#intP
out <- data.frame()
for(j in 1:n){
radoniter <- intP[, 1]
iter <- rowSums(runif(nrow(intP), 0, 1) > intP)+1
for(i in 1:nrow(intP)){radoniter[i] <- X[i, iter[i]]}
radon2 <- data.frame(Maakunta = radon$Maakunta, Talo = radon$Talo, obs = n, Radon = radoniter)
radon2
out <- rbind(out, radon2)
}
radon2
head(out)
| |