Difference between revisions of "Mori/Codetest"

From Testiwiki
Jump to: navigation, search
(Ratkaisu?)
Line 1: Line 1:
===Old R-code===
+
===Decision===
 +
==Old R-code==
  
 
<rcode>
 
<rcode>
Line 37: Line 38:
  
  
===Test Code===
+
==Test Code==
  
 
{{comment|# |Oletko saanut bugin selville? Luulen, että decisions.apply jossain vaiheessa sekoittaa rivit niin, että ensimmäiselle riville tarkoitettu kertolasku kohdistuukin kolmannelle riville. Mutta miksi?|--[[User:Jouni|Jouni]] 08:53, 29 June 2012 (EEST)}}
 
{{comment|# |Oletko saanut bugin selville? Luulen, että decisions.apply jossain vaiheessa sekoittaa rivit niin, että ensimmäiselle riville tarkoitettu kertolasku kohdistuukin kolmannelle riville. Mutta miksi?|--[[User:Jouni|Jouni]] 08:53, 29 June 2012 (EEST)}}
Line 130: Line 131:
  
 
</rcode>
 
</rcode>
 +
 +
 +
===emfBoilerit===
 +
 +
==Vanha koodi==
 +
library(OpasnetUtils)
 +
library(xtable)
 +
 +
data <- op_baseGetData("opasnet_base", "Op_fi3016")
 +
data <- tidy(data)
 +
 +
emfBoilerit <- new("ovariable",
 +
name = "emfBoilerit",
 +
data = data, direction = "wide", objname = "emfBoilerit")
 +
)
 +
 +
objects.put(emfBoilerit)
 +
 +
print(xtable(emfBoilerit@data), type = 'html')
 +
cat("Muuttuja alustettu. Kopioi ajosivun osoitteen avain talteen tulevaa käyttöä varten.\n")
 +
 +
 +
==Uusi koodi==
 +
 +
# ==== KAAVA ====
 +
# EF = EFs/Sa*S
 +
 +
# EF = Laskettu päästökerroin
 +
# EFs = Päästökerroin paikallaan olevien polttomoottorien päästökertoimet taulukossa
 +
# Sa = Päästökertoimen laskennassa käytetty vakiorikkipitoisuus
 +
# S = polttoaineen rikkipitoisuus
 +
 +
<rcode variables="
 +
name:Sa|description:Päästökertoimen laskennassa käytetty vakiorikkipitoisuus|default:1|
 +
name:Polttoaine|description:Mikä polttoaine on kyseessä?|type:selection|options:'Masuunikaasu';Masuunikaasu;'Koksiuunikaasu';Koksiuunikaasu;'Kaatopaikkakaasu';Kaatopaikkakaasu;'Maakaasu';Maakaasu;'Nestekaasu - Butaani';Nestekaasu - Butaani;'Nestekaasu - Propaani';Nestekaasu - Propaani;'Raskas polttoöljy';Raskas polttoöljy;'Diesel';Diesel;'Jäteöljy';Jäteöljy|default:'Diesel'|
 +
">
 +
 +
library(OpasnetUtils)
 +
library(xtable)
 +
 +
riippuvuudet <- data.frame(
 +
  Name = c("EFs", "Sa", "S")
 +
)
 +
 +
funktio <- function(dependencies, ...) {
 +
data <- op_baseGetData("opasnet_base", "Op_fi3016")
 +
data <- tidy(data)
 +
 +
out$Result <- as.numeric(out$Result) * EFs / Sa * S
 +
out <- dropall(out)
 +
return(out)
 +
}
 +
 +
emfBoilerit <- new("ovariable",
 +
name = "emfBoilerit",
 +
data = data,
 +
dependencies = riippuvuudet,
 +
formula = funktio
 +
)
 +
 +
objects.put(emfBoilerit)
 +
temp <- EvalOutput(emfBoilerit)
 +
 +
out <- temp@output
 +
 +
print(xtable(emfBoilerit@data), type = 'html')
 +
cat("Muuttuja alustettu. Kopioi ajosivun osoitteen avain talteen tulevaa käyttöä varten.\n")

Revision as of 12:04, 26 July 2012

Decision

Old R-code

+ Show code

# : Why does the var2 outcome show row 3 OptB A E 50, because the decision should be applied only for row 1 OptB A D 4 ? There is a bug somewhere. --Jouni 16:12, 16 May 2012 (EEST)


Test Code

--# : Oletko saanut bugin selville? Luulen, että decisions.apply jossain vaiheessa sekoittaa rivit niin, että ensimmäiselle riville tarkoitettu kertolasku kohdistuukin kolmannelle riville. Mutta miksi? --Jouni 08:53, 29 June 2012 (EEST)

--# : Itsekin ajattelin samaa, mutta en ole vielä ymmärtänyt miksi se toimii niin.. Minulla meni pari päivää jahdatessa tuon yhden virheilmoituksen syytä, kunnes Teemu selvensi minulle että se on tarkoituskin tulla, joskin virheilmoituksessa on kuulemma parantamisen varaa. Nyt vasta alan ymmärtää paremmin miten tuo decisions.apply oikein toimii. --Mori 17:06, 3 July 2012 (EEST)

--# : No, nyt taisi selvitä mikä siinä on ongelma.. Huomasin, että Var2 output taulussa ei ole Decision1 saraketta, mutta kun datoja muuttelee hiukan ja antaa sille kyseisen sarakkeen, laskutoimitukset tuntuvat menevän oikein. Ilmeisesti sen sarakkeen puuttuminen hajottaa jonkun noista loopeista (ainakin Teemun mukaan) joka johtaa laskutoimituksen virheellisyyteen --Mori 14:47, 9 July 2012 (EEST)

+ Show code


emfBoilerit

Vanha koodi

library(OpasnetUtils) library(xtable)

data <- op_baseGetData("opasnet_base", "Op_fi3016") data <- tidy(data)

emfBoilerit <- new("ovariable", name = "emfBoilerit", data = data, direction = "wide", objname = "emfBoilerit") )

objects.put(emfBoilerit)

print(xtable(emfBoilerit@data), type = 'html') cat("Muuttuja alustettu. Kopioi ajosivun osoitteen avain talteen tulevaa käyttöä varten.\n")


Uusi koodi

  1. ==== KAAVA ====
  2. EF = EFs/Sa*S
  1. EF = Laskettu päästökerroin
  2. EFs = Päästökerroin paikallaan olevien polttomoottorien päästökertoimet taulukossa
  3. Sa = Päästökertoimen laskennassa käytetty vakiorikkipitoisuus
  4. S = polttoaineen rikkipitoisuus

<rcode variables=" name:Sa|description:Päästökertoimen laskennassa käytetty vakiorikkipitoisuus|default:1| name:Polttoaine|description:Mikä polttoaine on kyseessä?|type:selection|options:'Masuunikaasu';Masuunikaasu;'Koksiuunikaasu';Koksiuunikaasu;'Kaatopaikkakaasu';Kaatopaikkakaasu;'Maakaasu';Maakaasu;'Nestekaasu - Butaani';Nestekaasu - Butaani;'Nestekaasu - Propaani';Nestekaasu - Propaani;'Raskas polttoöljy';Raskas polttoöljy;'Diesel';Diesel;'Jäteöljy';Jäteöljy|default:'Diesel'| ">

library(OpasnetUtils) library(xtable)

riippuvuudet <- data.frame(

  Name = c("EFs", "Sa", "S")

)

funktio <- function(dependencies, ...) { data <- op_baseGetData("opasnet_base", "Op_fi3016") data <- tidy(data)

out$Result <- as.numeric(out$Result) * EFs / Sa * S out <- dropall(out) return(out) }

emfBoilerit <- new("ovariable", name = "emfBoilerit", data = data, dependencies = riippuvuudet, formula = funktio )

objects.put(emfBoilerit) temp <- EvalOutput(emfBoilerit)

out <- temp@output

print(xtable(emfBoilerit@data), type = 'html') cat("Muuttuja alustettu. Kopioi ajosivun osoitteen avain talteen tulevaa käyttöä varten.\n")