Creates a table of the most frequently-occurring n-grams within the data. Optionally, weights can be provided either through a `weight` column in the formatted data, or from a `svydesign` object with the raw (preformatted) data. Equivalent to `fst_get_top_ngrams` but doesn't print message about ties.
Usage
fst_ngrams_table2(
data,
number = 10,
ngrams = 1,
norm = NULL,
pos_filter = NULL,
strict = TRUE,
use_svydesign_weights = FALSE,
id = "",
svydesign = NULL,
use_column_weights = FALSE
)
Arguments
- data
A dataframe of text in CoNLL-U format, with optional additional columns.
- number
The number of n-grams to return, default is `10`.
- ngrams
The type of n-grams to return, default is `1`.
- norm
The method for normalising the data. Valid settings are `"number_words"` (the number of words in the responses, default), `"number_resp"` (the number of responses), or `NULL` (raw count returned).
- pos_filter
List of UPOS tags for inclusion, default is `NULL` which means all word types included.
- strict
Whether to strictly cut-off at `number` (ties are alphabetically ordered), default is `TRUE`.
- use_svydesign_weights
Option to weight words in the table using weights from a `svydesign` containing the raw data, default is `FALSE`
- id
ID column from raw data, required if `use_svydesign_weights = TRUE` and must match the `docid` in formatted `data`.
- svydesign
A `svydesign` which contains the raw data and weights, required if `use_svydesign_weights = TRUE`.
- use_column_weights
Option to weight words in the table using weights from formatted data which includes addition `weight` column, default is `FALSE`
Examples
fst_ngrams_table2(fst_child, norm = NULL)
#> words occurrence
#> 1 toinen 118
#> 2 lyödä 71
#> 3 lyöminen 53
#> 4 joku 46
#> 5 paha 43
#> 6 tehdä 34
#> 7 sanoa 33
#> 8 tietää 32
#> 9 jokin 30
#> 10 tulla 30
fst_ngrams_table2(fst_child, ngrams = 2, norm = "number_resp")
#> words occurrence
#> 1 lyöminen potkiminen 0.041
#> 2 joku lyödä 0.027
#> 3 lyödä potkia 0.027
#> 4 osata sanoa 0.022
#> 5 haukkua toinen 0.019
#> 6 sanoa jokin 0.017
#> 7 tulla mieli 0.017
#> 8 joku toinen 0.015
#> 9 ottaa toinen 0.015
#> 10 paha mieli 0.015
c <- fst_child_2
s <- survey::svydesign(id=~1, weights= ~paino, data = child)
i <- 'fsd_id'
T <- TRUE
fst_ngrams_table2(c, 10, 2, use_svydesign_weights = T, svydesign = s, id = i)
#> words occurrence
#> 1 lyöminen potkiminen 2526.929
#> 2 joku lyödä 1638.069
#> 3 lyödä potkia 1635.803
#> 4 osata sanoa 1312.750
#> 5 haukkua toinen 1172.935
#> 6 sanoa jokin 1046.724
#> 7 tulla mieli 1028.394
#> 8 toinen tulla 914.070
#> 9 tehdä jokin 903.588
#> 10 töniminen lyöminen 898.814