Compute Supervised Dimension Projection and related variables for plotting words.

textProjection(
  words,
  word_embeddings,
  single_word_embeddings = single_word_embeddings_df,
  x,
  y = NULL,
  pca = NULL,
  aggregation = "mean",
  split = "quartile",
  word_weight_power = 1,
  min_freq_words_test = 0,
  mean_centering = FALSE,
  mean_centering2 = FALSE,
  Npermutations = 10000,
  n_per_split = 50000,
  seed = 1003
)

Arguments

words

Word or text variable to be plotted.

word_embeddings

Word embeddings from textEmbed for the words to be plotted (i.e., the aggregated word embeddings for the "words" parameter).

single_word_embeddings

Word embeddings from textEmbed for individual words (i.e., decontextualized embeddings).

x

Numeric variable that the words should be plotted according to on the x-axes.

y

Numeric variable that the words should be plotted according to on the y-axes (y=NULL).

pca

Number of PCA dimensions applied to the word embeddings in the beginning of the function. A number below 1 takes out % of variance; An integer specify number of components to extract. (default is NULL as this setting has not yet been evaluated).

aggregation

Method to aggregate the word embeddings (default = "mean"; see also "min", "max", and "[CLS]").

split

Method to split the axes (default = "quartile" involving selecting lower and upper quartile; see also "mean"). However, if the variable is only containing two different values (i.e., being dichotomous) mean split is used.

word_weight_power

Compute the power of the frequency of the words and multiply the word embeddings with this in the computation of aggregated word embeddings for group low (1) and group high (2). This increases the weight of more frequent words.

min_freq_words_test

Option to select words that have occurred a specified number of times (default = 0); when creating the Supervised Dimension Projection line (i.e., single words receive Supervised Dimension Projection and p-value).

mean_centering

Boolean; separately mean centering the Group 1 split aggregation embedding, and the Group 2 split aggregation embedding

mean_centering2

Boolean; separately mean centering the G1 and G2 split aggregation embeddings

Npermutations

Number of permutations in the creation of the null distribution.

n_per_split

Setting to split Npermutations to avoid reaching computer memory limits; set it lower than Npermutations <- and the higher it is set the faster the computation completes, but too high may lead to abortion.

seed

Set different seed.

Value

A dataframe with variables (e.g., including Supervised Dimension Projection, frequencies, p-values) for the individual words that is used for the plotting in the textProjectionPlot function.

Examples

# Data
# Pre-processing data for plotting
if (FALSE) {
df_for_plotting <- textProjection(
  words = Language_based_assessment_data_8$harmonywords,
  word_embeddings = word_embeddings_4$harmonywords,
  single_word_embeddings = word_embeddings_4$singlewords_we,
  x = Language_based_assessment_data_8$hilstotal,
  split = "mean",
  Npermutations = 10,
  n_per_split = 1
)
df_for_plotting
}
#' @seealso see \code{\link{textProjectionPlot}}