Learn R Programming

rENA

What is ENA

Epistemic Network Analysis (ENA) is a method for identifying and quantifying connections among elements in coded data and representing them in dynamic network models. A key feature of the ENA tool is that it enables researchers compare different networks, both visually and through summary statistics that reflect the weighted structure of connections. The interface also allows users to see the original data that contributed to each of the connections in the network representation. ENA can thus be used to address a wide range of qualitative and quantitative research questions.

Researchers have used ENA to analyze and visualize a wide range of phenomena, including: cognitive connections that students make while solving complex problems; interactions among different regions of the brain in fMRI data; social gaze coordination; integration of operative skills during surgical procedures; and many others.


Installation

From CRAN

install.packages("rENA")

Development Version

install.packages("rENA", repos = c("https://rena.qe-libs.org/cran/", "https://cran.rstudio.org"))

Resources

To learn more about ENA, visit the resources page.

Copy Link

Version

Install

install.packages('rENA')

Monthly Downloads

120

Version

0.3.0

License

GPL-3 | file LICENSE

Maintainer

Cody L Marquart

Last Published

September 29th, 2025

Functions in rENA (0.3.0)

as.ena.co.occurrence

Re-class vector as ena.co.occurrence
add_trajectory

Add a trajectory to an ENA plot
as.matrix.ena.nodes

ENA nodes as matrix
as.matrix.ena.matrix

Matrix without metadata
as.matrix.ena.connections

ENA Connections as a matrix
as.matrix.ena.line.weights

ENA line weights as matrix
$.ena.metadata

Extract metadata easily
as.qe.data

Convert an object to 'qe.data' class
$.ena.matrix

Extract from ena.matrix easily using metadata
as.qe.metadata

Convert a vector to 'qe.metadata' class
as.qe.horizon

Convert a vector to 'qe.horizon' class
$.ena.points

Extract points easily
as.qe.code

Convert a vector to 'qe.code' class
as.qe.unit

Convert a vector to 'qe.unit' class
as.matrix.row.connections

ENA row connections as matrix
$.line.weights

Extract line.weignts easily
directed_node_positions

Multiobjective, Component by Component, with Ellipsoidal Scaling, for directed ENA
define

Apply metadata and code transformations to a data.table
as_trajectory

Title
center

Center ENA Data
codes

Reclassify specified columns as codes or list codes columns in a data.table
ena.plot

Generate a plot of an ENAset
ena.make.set

Generate ENA Set
compute_SB

Compute Between-Group Scatter Matrix
ena.group

Compute summary statistic for groupings of units using given method (typically, mean)
connection.matrix

Connection counts as square matrix
ena.plotter

Wrapper to generate plots of units, groups, and networks
ena.rotate.by.hena.regression_2

ENA Rotate by regression (second way)
ena.correlations

Calculate the correlations
ena.rotate.by.generalized

ENA Rotate by generalized means rotation (gmr)
ena.plot.group

Plot of ENA set groups
combn_c2

Fast combn choose 2
ena.plot.network

Plot an ENA network
ena.rotate.by.hena.regression

ENA Rotate by regression
ena.writeup

Calculate the correlations
ena.accumulate.data

Accumulate data from a data frame into a set of adjacency (co-occurrence) vectors
ena_correlation

Calculate the correlations
ena.conversations

Find conversations by unit
find_binary_cols

Find Binary Columns
get_x1_main_effect

Extract Main Effect Contribution of the First Predictor Using Elastic Net
find_code_cols

Find code columns
fun_sphere_norm

Row-wise L2 (Sphere) Normalization
is.qe.metadata

Check if an object is of class 'qe.metadata'
is.qe.unit

Check if an object is of class 'qe.unit'
ena.plot.points

Plot points on an ENAplot
methods_report_stream

methods_report_stream
ena.rotate.by.mean

ENA Rotate by mean
ena.rotation.h

hENA rotation for ENA
check_range

Updates the axis ranges of an ENA plot based on the plotted data.
model

Build a Complete ENA Model
ena.plot.trajectory

Plot of ENA trajectories
find_meta_cols

Find metadata columns
find_dimension_cols

Find dimension columns
means_rotate

Title
project

Project ENA Points onto Rotated Space
clear

Clears specified plots from an ENA set.
directed_node_positions_with_ground_response_added

Node position optimization with ground and response weights/points added
methods_report

methods_report
merge_columns_c

Merge data frame columns
metadata

Reclassify specified columns as metadata or list metadata columns in a data.table
units

Reclassify specified columns as units or list unit columns in a data.table
is.qe.data

Check if an object is of class 'qe.data'
is.qe.horizon

Check if an object is of class 'qe.horizon'
rENA

rENA creates ENA sets
*.ena.matrix

Multiply ena.matrix objects Element-wise multiplication of dimension columns in an ena.matrix by another ena.matrix or numeric matrix. If e2 is an ena.matrix, it is converted to a standard matrix before multiplication. The multiplication is applied only to the dimension columns of e1, while other columns remain unchanged.
plot.ena.set

Plot an ena.set object
is.qe.code

Check if an object is of class 'qe.code'
prepare_trajectory_data

Prepares trajectory data for an ENA plot.
move_nodes_to_unit_circle

Title
ena

Wrapper to generate, and optionally plot, an ENA model
horizon

Reclassify specified columns as horizon or list horizon columns in a data.table
project_in

Title
with.ena.matrix

with.ena.matrix
print.ena.set

Title
vector_to_ut

vector to upper triangle
move_nodes_to_unit_circle_with_equal_space

Title
with_means

Adds group means to the ENA plot.
scale.ENAplot

Scales the points in an ENA set.
rotate

Rotate ENA Data
remove_meta_data

Remove meta columns from data.table
reclassify

Reclassify specified columns in a data.table
ena.svd

ENA SVD
fun_cohens.d

Cohen's d
gmr

Generalized Means Rotation (GMR)
fun_skip_sphere_norm

Row-wise Max-Norm Scaling
ena.set.creator

Wrapper to generate an ENA model
group

Add all groups to an ENA plot
namesToAdjacencyKey

Names to Adjacency Key
with_trajectory

Adds trajectories to an ENA plot.
optimize

Optimize Node and Centroid Positions in ENA Set
sphere_norm

Apply Spherical Normalization to ENA Data
show

Display and update plot objects within a custom object
accumulate

Accumulate Connection Counts for ENA
RS.data

Coded Rescushell Chat Data
add_network

Add a network to an ENA plot
ENAset

ENAset R6class
ENAplot

ENAplot Class
ENAdata

ENAdata R6class
add_nodes

Add nodes to an ENA plot
add_points

Add points to an ENA plot
ENARotationSet

ENARotationSet R6class
add_group

Add a group mean to an ENA plot
as.ena.matrix

Re-class matrix as ena.matrix
as.ena.metadata

Re-class matrix as ena.metadata
as.matrix.ena.points

ENA points as matrix
as.matrix.ena.rotation.matrix

ENA rotations as matrix