The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

tools

library(thinkr)

replace_pattern(): Replace all occurencies of a pattern by replacement

Scan a dataframe and return it with all occurencies of a pattern changed to replacement, keeping the same format.

dataset <- data.frame(
  col_a = as.factor(letters)[1:7], 
  col_b = letters[1:7],
  col_c = 1:7,
  col_d = paste0(letters[1:7], letters[1:7]),
  stringsAsFactors = FALSE) 

# Show original dataset
dataset
#>   col_a col_b col_c col_d
#> 1     a     a     1    aa
#> 2     b     b     2    bb
#> 3     c     c     3    cc
#> 4     d     d     4    dd
#> 5     e     e     5    ee
#> 6     f     f     6    ff
#> 7     g     g     7    gg

# replace pattern
replace_pattern(dataset, "a", 'XXX-')
#>   col_a col_b col_c    col_d
#> 1  XXX-  XXX-     1 XXX-XXX-
#> 2     b     b     2       bb
#> 3     c     c     3       cc
#> 4     d     d     4       dd
#> 5     e     e     5       ee
#> 6     f     f     6       ff
#> 7     g     g     7       gg

Exact matching with argument exact

replace_pattern(dataset, "a", 'XXX-', exact = TRUE)
#>   col_a col_b col_c col_d
#> 1  XXX-  XXX-     1    aa
#> 2     b     b     2    bb
#> 3     c     c     3    cc
#> 4     d     d     4    dd
#> 5     e     e     5    ee
#> 6     f     f     6    ff
#> 7     g     g     7    gg

is_likert(): Verify levels of a factor vector

Test that the levels of a factor vec are all to be found in the character vector lev.

## returns TRUE because all levels of iris$species are in c("setosa", "versicolor", "virginica")
is_likert(iris$Species, c("setosa", "versicolor", "virginica"))
#> [1] TRUE

## returns TRUE because all levels of iris$species are in c("setosa", "versicolor", "virginica", "banana"), even though there is actually no level "banana"
# A message is printed
is_likert(iris$Species, c("setosa", "versicolor", "virginica", "banana"))
#> At least one element of lev is not in levels of vec
#> [1] TRUE

## returns FALSE because the "virginica" level of iris$species is missing
is_likert(iris$Species, c("setosa", "versicolor"))
#> [1] FALSE

## returns an error
is_likert(iris$Species, c(1, 2))
#> Error: Elements 1 of is.character(lev) are not true

## returns no error as the numeric is coerced to a character.
is_likert(iris$Species, c("setosa", 2))
#> At least one element of lev is not in levels of vec
#> [1] FALSE

Warnings: is-likert does not test whether the levels of vec are a likert scale as in psychometry. See https://en.wikipedia.org/wiki/Likert_scale for example.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.