Difference between revisions of "Make.oassessment"

From Testiwiki
Jump to: navigation, search
(redirected)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
#REDIRECT [[OpasnetUtils/Oassessment#make.oassessment]]
+
#REDIRECT [[OpasnetUtils]]
[[Category:Opasnet]]
 
[[Category:R tools]]
 
[[Category:OpasnetUtils]]
 
{{method|moderator=|stub=Yes}}
 
 
 
==Description==
 
make.oassessment creates S4 assessment from dependencies data.frame, including decisions, stakeholders, probabilities, and variables.
 
 
 
<b>NOTE! You must include the formula code from each variable page, otherwise formulas and dependencies are not updated. </b>
 
 
 
==Parameters==
 
====Dependencies====
 
* a data.frame that has the structure of oassessment@name (Columns: Name, Identifier, Direction, Result)
 
 
 
==Code==
 
<rcode
 
name="answer"
 
label="Initiate functions"
 
graphics="1"
 
>
 
# MAKE.OASSESSMENT ########## make.oassessment creates S4 assessment from dependencies data.frame, including decisions, stakeholders, probabilities, and variables.
 
########### NOTE! You must include the formula code from each variable page, otherwise formulas and dependencies are not updated.
 
########### Parameters:
 
## dependencies: a data.frame that has the structure of oassessment@name (Columns: Name, Identifier, Direction, Result)
 
make.oassessment <- function(x) {
 
x  <- fetch(x)
 
decisions    <- fetch(x[x$Result == "decisions",    "Identifier"])
 
stakeholders  <- fetch(x[x$Result == "stakeholders",  "Identifier"])
 
probabilities <- fetch(x[x$Result == "probabilities", "Identifier"])
 
dependencies  <- x[!x$Result %in% c("decisions", "stakeholders", "probabilities"), ]
 
vars          <- list()
 
for(i in 1:nrow(dependencies)) { # Objects with names as aliases are created and filled with data from Opasnet Base.
 
cat("Initialising variable ", as.character(dependencies$Name[i]), ".\n", sep = "")
 
ident <- as.character(dependencies$Identifier[i])
 
data <- fetch(ident, direction = as.character(dependencies$Direction[i]))
 
if(exists(paste("formula.", ident, sep = "")))
 
{formula <- get(paste("formula.", ident, sep = ""))
 
} else {
 
formula <- function(dependencies) {return(0)}
 
}
 
if(exists(paste("dependencies.", ident, sep = "")))
 
{depend <- get(paste("dependencies.", ident, sep = ""))
 
} else {
 
depend <- data.frame()
 
}
 
vars[[i]] <- make.ovariable(
 
name = as.character(dependencies$Result[i]),
 
data = data,
 
formula = formula,
 
dependencies = depend
 
)
 
}
 
names(vars) <- dependencies$Result
 
assessment <- new("oassessment",
 
dependencies  = dependencies,
 
decisions    = decisions,
 
stakeholders  = stakeholders,
 
probabilities = probabilities,
 
vars          = vars
 
)
 
 
 
return(assessment)
 
}
 
 
 
</rcode>
 
 
 
==See also==
 
 
 
* [[OpasnetBaseUtils]]
 
* [[Object-oriented programming in Opasnet]]
 
* [[Opasnet (R library)]]
 

Latest revision as of 12:50, 20 August 2014

Redirect to: