This is useful for checking the value of a certain part of a version
number, and is particularly useful when filtering datasets with a
version number column. If a part is not present, NA
will be returned.
version_part(x, which = getOption("version.parts"))
x | Version numbers |
---|---|
which | The part to get - either as a string or a number |
An integer vector
nums <- version_number("1.0.0", "1.0.0.1", "1.0.0.2", "1.2.0", "2.0.0") # Specify the part to get using a string or a number version_part(nums, "dev")#> [1] NA 1 2 NA NAversion_part(nums, 4)#> [1] NA 1 2 NA NAversion_part(nums, "major")#> [1] 1 1 1 1 2# Filter datasets if (require(dplyr, quietly = TRUE)) { version_desc <- c("It's alive!", "Tweak to balancing", "Bug fix", "Can do flips", "Complete rework") # Get the numbers as a data.frame data <- tibble(versions = nums, version_desc = version_desc) data }#> #>#>#> #>#>#> #>#> # A tibble: 5 x 2 #> versions version_desc #> <vrsn> <chr> #> 1 [3] It's alive! #> 2 [4] Tweak to balancing #> 3 [4] Bug fix #> 4 [3] Can do flips #> 5 [3] Complete rework# Filter for dev versions if (require(dplyr, quietly = TRUE)) { data %>% filter(!is.na(version_part(versions, "dev"))) }#> # A tibble: 2 x 2 #> versions version_desc #> <vrsn> <chr> #> 1 [4] Tweak to balancing #> 2 [4] Bug fix# Filter for major version 1 if (require(dplyr, quietly = TRUE)) { data %>% filter(version_part(versions, "major") == 1) }#> # A tibble: 4 x 2 #> versions version_desc #> <vrsn> <chr> #> 1 [3] It's alive! #> 2 [4] Tweak to balancing #> 3 [4] Bug fix #> 4 [3] Can do flips