I am trying to create a dataframe with function names from a package of interest. I have managed to do this in the following way:
# loading needed libraries
library(ggstatsplot)
library(tidyverse)
# creating a dataframe with namespace from package of interest
(
df_ns <- getNamespaceExports(ns = "ggstatsplot") %>%
tibble::as_data_frame(.) %>%
dplyr::filter(.data = ., grepl("^gg|^grouped", value)) %>%
dplyr::filter(.data = ., value != "ggcoefstats") %>%
dplyr::mutate(
.data = .,
functions = paste("ggstatsplot::", value, sep = "")
) %>%
dplyr::mutate(
.data = .,
version = dplyr::case_when(grepl("^grouped", value) ~ "grouped",
TRUE ~ "basic")
)
)
#> # A tibble: 10 x 3
#> value functions version
#> <chr> <chr> <chr>
#> 1 grouped_gghistostats ggstatsplot::grouped_gghistostats grouped
#> 2 grouped_ggscatterstats ggstatsplot::grouped_ggscatterstats grouped
#> 3 grouped_ggbetweenstats ggstatsplot::grouped_ggbetweenstats grouped
#> 4 grouped_ggcorrmat ggstatsplot::grouped_ggcorrmat grouped
#> 5 grouped_ggpiestats ggstatsplot::grouped_ggpiestats grouped
#> 6 ggbetweenstats ggstatsplot::ggbetweenstats basic
#> 7 ggpiestats ggstatsplot::ggpiestats basic
#> 8 ggcorrmat ggstatsplot::ggcorrmat basic
#> 9 gghistostats ggstatsplot::gghistostats basic
#> 10 ggscatterstats ggstatsplot::ggscatterstats basic
So far so good. Now what I want is the following:
I want to remove the grouped_
prefix from all names (first five rows, i.e.) in the column value
. But when I try to do this using str_split
, all names get assigned "gghistostats"
instead of the 5 different names. How can I do this?
# stripping `grouped_` prefix from `value` column
df_ns %>%
dplyr::mutate(
.data = .,
value = dplyr::case_when(
grepl("^grouped", value) ~ stringr::str_split(value, "_")[[1]][[2]],
TRUE ~ value
)
)
#> # A tibble: 10 x 3
#> value functions version
#> <chr> <chr> <chr>
#> 1 gghistostats ggstatsplot::grouped_gghistostats grouped
#> 2 gghistostats ggstatsplot::grouped_ggscatterstats grouped
#> 3 gghistostats ggstatsplot::grouped_ggbetweenstats grouped
#> 4 gghistostats ggstatsplot::grouped_ggcorrmat grouped
#> 5 gghistostats ggstatsplot::grouped_ggpiestats grouped
#> 6 ggbetweenstats ggstatsplot::ggbetweenstats basic
#> 7 ggpiestats ggstatsplot::ggpiestats basic
#> 8 ggcorrmat ggstatsplot::ggcorrmat basic
#> 9 gghistostats ggstatsplot::gghistostats basic
#> 10 ggscatterstats ggstatsplot::ggscatterstats basic
Created on 2018-10-11 by the reprex package (v0.2.1)