Team:Heidelberg/Tempaltes/iGEM42-W-18a
From 2013.igem.org
(Difference between revisions)
JuliaS1992 (Talk | contribs) (Created page with " == Filters fixed == The drafts for most of the filtering functions had already been implemented, but ended up non-functional. This was due to data removal using empty vectors, w...") |
JuliaS1992 (Talk | contribs) |
||
Line 1: | Line 1: | ||
== Filters fixed == | == Filters fixed == | ||
- | The drafts for most of the filtering functions had already been implemented, but ended up non-functional. This was due to data removal using empty vectors, which produces a severe error in R. Table 1 gives an overview of the different parameters and their basic filter design. | + | The drafts for most of the filtering functions had already been implemented, but ended up non-functional. This was due to data removal using empty vectors, which produces a severe error in R. Table 18.1 gives an overview of the different parameters and their basic filter design. |
{| class="wikitable" | {| class="wikitable" | ||
- | |+ '''Table 1:''' Overview of all filters. | + | |+ '''Table 18.1:''' Overview of all filters. |
|- | |- | ||
! Parameter !! Type !! Options* !! Status | ! Parameter !! Type !! Options* !! Status |
Latest revision as of 01:12, 5 October 2013
Filters fixed
The drafts for most of the filtering functions had already been implemented, but ended up non-functional. This was due to data removal using empty vectors, which produces a severe error in R. Table 18.1 gives an overview of the different parameters and their basic filter design.
Parameter | Type | Options* | Status |
---|---|---|---|
Year | numeric | 2007-2012 | final |
Region | string | levels | final |
Track | string | levels | final |
Students | numeric | 0, 5, 10, 15, 20, >20 | final |
Advisors | numeric | 0, 2, 5, 10, 15, >15 | final |
Instructors | numeric | 0, 2, 5, 10, 15, >15 | final |
Biobricks | numeric | 0, 5, 10, 20, 50, 100, 200, >200 | final |
Championship | character vector | levels | working |
Regional | character vector | levels | working |
Medals | string | bronze, silver, medal | missing |
Score | numeric | 0-100 (steps of 10) | final |
Abstract | binary | provided/missing | missing |
* Levels means all possible values the parameter can have. |
The general code for filtering a numerical range parameter X using R after this update is displayed below (changes are displayed in red).
FilterForX <- function(data) {
if (input$FILX_min == ">max") data <- data[-which(data$X < max),]
else if (input$FILX_max == ">max" & input$FilX_min != "min") data <- data[-which(data$X < input$FILX_min),]
else if (input$FILX_max == ">max" & input$FilX_min == "min") return(data)
else data <- data[-which(data$X < input$FILX_min | data$X > input$X_max),]
return(data)
}
The general code for filtering a single string parameter Y using R now looks like this:
FilterForY <- function(data) {
matchY <- rep(0, times=length(data$Y))
for (i in 1:length(input$FILY)) {
matchY[which(data$Y == input$FILY[i])] <- 1
}
delete <- which(matchY == 0)
if (length(delete) != 0) data <- data[-delete,]
rm(delete)
rm(matchY)
return(data)
}
The code for matching the awards is slighly more complicated, since the awards are saved in the data-list and we want to reduce the data-frame. This is the pseudocode for the functions:
iterate through all awards to be included { (re-)set a vector for deleting those items from the data-list iterate through all the teams in the data-list { if the award matches one of the team awards: - expand the vector for the teams to keep with the name - expand the vector for the teams already matched } delete those teams from the data-list, that were already positive in order to save runtime } reduce data-frame according to the matching resultAll the filter functions and corresponding layout elements were put together in one file to easily copy and paste them to the different apps.