Skip to contents

Renders an interactive ENA plot inside RStudio, R Markdown / Quarto, and Shiny using the qeviz visualization library.

Usage

ena.plot.interactive(
  set,
  group_col = NULL,
  group = NULL,
  unit = NULL,
  compare = NULL,
  also = NULL,
  dim_cols = c("SVD1", "SVD2"),
  label_nodes = "on",
  label_means = "on",
  label_points = "off",
  confidence = TRUE,
  outlier = TRUE,
  scale_points = TRUE,
  conf_level = 0.95,
  iqr_factor = 1.5,
  width = NULL,
  height = NULL
)

Arguments

set

An ena.make.set result.

group_col

Character. Name of the grouping column in set$points (e.g. "Condition"). Controls point colours and group mean networks.

group

Character. Which group's mean network to display. Defaults to the first group.

unit

Character. A specific unit ID to display its individual network instead of a group mean.

compare

Character. Second group or unit for a subtraction view (group minus compare).

also

Character. Second group for an overlay view (both networks drawn simultaneously).

dim_cols

Character vector of two dimension names to plot. Default c("SVD1", "SVD2").

label_nodes

"on" | "off" | "auto" | "click". Visibility of code-node labels. Default "on".

label_means

Visibility of group-mean labels. Default "on".

label_points

Visibility of unit-point labels. Default "off".

confidence

Logical. Include 95% CI bounds in the groups frame. Default TRUE.

outlier

Logical. Draw IQR-based outlier boxes. Default TRUE.

scale_points

Logical. Rescale unit points to match the node coordinate space. Default TRUE.

conf_level

Numeric. Confidence level for CI boxes. Default 0.95.

iqr_factor

Numeric. IQR multiplier for outlier boxes. Default 1.5.

width, height

Widget dimensions in pixels. NULL uses htmlwidgets sizing policy defaults (700 × 650).

Value

An htmlwidget object that renders in RStudio Viewer, R Markdown, Quarto, and Shiny.

Examples

if (FALSE) { # \dontrun{
data(RS.data)
codeNames <- c("Data", "Technical.Constraints", "Performance.Parameters",
               "Client.and.Consultant.Requests", "Design.Reasoning", "Collaboration")
accum <- ena.accumulate.data(
  units        = RS.data[, c("UserName", "Condition")],
  conversation = RS.data[, c("Condition", "GroupName")],
  codes        = RS.data[, codeNames],
  window.size.back = 4
)
set <- ena.make.set(enadata = accum)

# Basic plot coloured by Condition
ena.plot.interactive(set, group_col = "Condition")

# Show only FirstGame mean network
ena.plot.interactive(set, group_col = "Condition", group = "FirstGame")

# Subtraction: FirstGame minus SecondGame
ena.plot.interactive(set, group_col = "Condition",
                     group = "FirstGame", compare = "SecondGame")
} # }