-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
63 changed files
with
580 additions
and
214 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
#' Interpret variable names | ||
#' | ||
#' Adds labels to variable names that are provided without labels | ||
#' | ||
#' @param x Vector of names of variables | ||
#' @param type The label to add (either of "locus", "edge", "individual" or "trait") | ||
#' | ||
#' @details The function adds the specified label to the variable names. For example, | ||
#' "Fst" becomes "locus_Fst" if \code{type = "locus"}. It will not add a label | ||
#' if it detects that the label is already there, i.e. "locus_Fst" will stay "locus_Fst". | ||
#' | ||
#' @return A vector of strings | ||
#' | ||
#' @note In the case of \code{type = "trait"} some variable names will be considered | ||
#' exceptions to which not to add a label. These are the variables that are saved | ||
#' per time point and/or per ecotype or habitat but not per trait | ||
#' ("EI", "RI", "SI", "population_sizes", "ecotype_population_sizes" and "habitat_resources") | ||
#' | ||
#' @examples | ||
#' | ||
#' interpret_variable_names(c("Fst", "Qst"), "locus") | ||
#' interpret_variable_names(c("corbreed", "corfreq"), "edge") | ||
#' | ||
#' @export | ||
|
||
interpret_variable_names <- function(x, type) { | ||
|
||
if (type == "locus") return(interpret_variable_names_locus(x)) | ||
if (type == "edge") return(interpret_variable_names_edge(x)) | ||
if (type == "individual") return(interpret_variable_names_individual(x)) | ||
if (type == "trait") return(interpret_variable_names_trait(x)) | ||
|
||
} | ||
|
||
interpret_variable_names_locus <- function(x) { | ||
|
||
# Add locus label to the rest that do not have it | ||
is_locus <- stringr::str_detect(x, "locus_") | ||
x[!is_locus] <- paste0("locus_", x[!is_locus]) | ||
|
||
return(x) | ||
|
||
} | ||
|
||
interpret_variable_names_edge <- function(x) { | ||
|
||
# Add edge label to the variables that do not have it | ||
is_edge <- stringr::str_detect(x, "edge_") | ||
x[!is_edge] <- paste0("edge_", x[!is_edge]) | ||
|
||
return(x) | ||
|
||
} | ||
|
||
interpret_variable_names_individual <- function(x) { | ||
|
||
# Add individual label to the variables that do not have it | ||
is_individual <- stringr::str_detect(x, "individual_") | ||
x[!is_individual] <- paste0("individual_", x[!is_individual]) | ||
|
||
return(x) | ||
|
||
} | ||
|
||
interpret_variable_names_trait <- function(x) { | ||
|
||
# Add trait label to the variables that do not have it | ||
is_trait <- stringr::str_detect(x, "trait_") | ||
|
||
# Except for these exceptions | ||
exceptions <- c( | ||
"EI", "RI", "SI", "population_sizes", "ecotype_population_sizes", | ||
"habitat_resources" | ||
) | ||
|
||
is_trait[x %in% exceptions] <- TRUE | ||
x[!is_trait] <- paste0("trait_", x[!is_trait]) | ||
|
||
return(x) | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.