
Convert Between Character (A, H, B) and Numeric dosage (0, 1, 2) Formats
Source:R/formater.R
formater.RdThis function converts genotype data between character ("A", "H", "B")
and numeric (0, 1, 2) formats. The conversion direction is controlled by the
numeric_output argument.
Arguments
- geno
A data frame containing genotype data, where values are either
"A","H","B"or0,1,2. The function assumes the dataset consists entirely of genotypic or numeric values.- numeric_output
Logical. If
TRUE, converts"A"→0,"H"→1,"B"→2. IfFALSE, converts0→"A",1→"H",2→"B". Default isTRUE.
Value
A data frame with the same structure as geno, but with values converted
based on the numeric_output parameter.
Details
Preserves
NAvalues during conversion.Unexpected values (anything other than
"A","H","B",0,1,2) are converted toNA.
Examples
# Example genotype data in character format
geno_char <- data.frame(
Marker1 = c("A", "H", "B"),
Marker2 = c("B", "A", "H")
)
# Convert character to numeric format
geno_numeric <- formater(geno_char, numeric_output = TRUE)
print(geno_numeric)
#> Marker1 Marker2
#> 1 0 2
#> 2 1 0
#> 3 2 1
# Convert numeric format back to character format
geno_char_reversed <- formater(geno_numeric, numeric_output = FALSE)
print(geno_char_reversed)
#> Marker1 Marker2
#> 1 A B
#> 2 H A
#> 3 B H