flatten_dictionary: Flatten a hierarchical dictionary into a list of character...

Description Usage Arguments Value Author(s) Examples

View source: R/dictionaries.R

Description

Converts a hierarchical dictionary (a named list of named lists, ending in character vectors at the lowest level) into a flat list of character vectors. Works like unlist(dictionary, recursive = TRUE) except that the recursion does not go to the bottom level. Called by dfm().

Usage

1
2
3
4
5
6
7
flatten_dictionary(
  dict,
  levels = 1:100,
  level = 1,
  key_parent = "",
  dict_flat = list()
)

Arguments

dict

list to be flattened

levels

integer vector indicating levels in the dictionary

level

internal argument to pass current levels

key_parent

internal argument to pass for parent keys

dict_flat

internal argument to pass flattened dictionary

Value

A dictionary flattened to variable levels

Author(s)

Kohei Watanabe

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
dict1 <-
    dictionary(list(populism=c("elit*", "consensus*", "undemocratic*", "referend*",
                               "corrupt*", "propagand", "politici*", "*deceit*",
                               "*deceiv*", "*betray*", "shame*", "scandal*", "truth*",
                               "dishonest*", "establishm*", "ruling*")))
flatten_dictionary(dict1)

dict2 <- list(level1a = list(level1a1 = c("l1a11", "l1a12"),
                             level1a2 = c("l1a21", "l1a22")),
              level1b = list(level1b1 = c("l1b11", "l1b12"),
                             level1b2 = c("l1b21", "l1b22", "l1b23")),
              level1c = list(level1c1a = list(level1c1a1 = c("lowest1", "lowest2")),
                             level1c1b = list(level1c1b1 = c("lowestalone"))))
flatten_dictionary(dict2)
flatten_dictionary(dict2, 2)
flatten_dictionary(dict2, 1:2)

koheiw/quanteda.core documentation built on Sept. 21, 2020, 3:44 p.m.