% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/data-student-interactions.R
\docType{data}
\name{student_interactions}
\alias{student_interactions}
\title{Student Interaction Edge List}
\format{
A data frame with 389 rows and 2 columns:
\describe{
\item{from}{Character. Anonymized two-letter student code (e.g., "Ac", "Bd")}
\item{to}{Character. Anonymized two-letter student code (e.g., "Ce", "Df")}
}
}
\source{
Anonymized collaborative learning interaction data.
}
\usage{
student_interactions
}
\value{
A data frame with 389 rows and 2 columns:
\describe{
\item{from}{Character. Anonymized two-letter student code.}
\item{to}{Character. Anonymized two-letter student code.}
}
}
\description{
An edge list of observed interactions between 34 students during
collaborative learning sessions. Each row represents one observed
interaction between two students. The same pair may appear multiple
times, reflecting repeated interactions.
}
\details{
The dataset includes self-loops (34 rows where \code{from == to}),
which may represent self-directed actions. These can be removed with
\code{student_interactions[student_interactions$from != student_interactions$to, ]}.

Because interactions repeat, this edge list naturally represents a
multigraph when loaded into igraph with
\code{igraph::graph_from_data_frame()}.
}
\examples{
# Load and build network
data(student_interactions)
head(student_interactions)

# Remove self-loops and build igraph
el <- student_interactions[student_interactions$from != student_interactions$to, ]
if (requireNamespace("igraph", quietly = TRUE)) {
  g <- igraph::graph_from_data_frame(el, directed = FALSE)
  cat("Students:", igraph::vcount(g), "\n")
  cat("Interactions:", igraph::ecount(g), "\n")
}

}
\keyword{datasets}
