The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Getting started with the tna package

This vignette showcases some basic usage of the tna package. First we load the package that we will use for this example.

library("tna")
library("tibble")
library("dplyr")
library("gt")

We also load the group_regulation data available in the package (see ?group_regulation for further information)

data("group_regulation", package = "tna")

We build a TNA model using this data with the tna() function .

tna_model <- tna(group_regulation)

To visualize the model, we can use the standard plot() function.

plot(tna_model, cut = 0.2, minimum = 0.05, 
     edge.label.position= 0.8, edge.label.cex = 0.7)

The initial state probabilities are

data.frame(`Initial prob.` = tna_model$inits, check.names = FALSE) |>
  rownames_to_column("Action") |>
  arrange(desc(`Initial prob.`)) |>
  gt() |>
  fmt_percent()
Action Initial prob.
consensus 21.40%
plan 20.45%
discuss 17.55%
emotion 15.15%
monitor 14.40%
cohesion 6.05%
synthesis 1.95%
coregulate 1.90%
adapt 1.15%

and the transitions probabilities are

tna_model$weights |>
  data.frame() |>
  rownames_to_column("From\\To") |>
  gt() |>
  fmt_percent()
From\To adapt cohesion consensus coregulate discuss emotion monitor plan synthesis
adapt 0.00% 27.31% 47.74% 2.16% 5.89% 11.98% 3.34% 1.57% 0.00%
cohesion 0.29% 2.71% 49.79% 11.92% 5.96% 11.56% 3.30% 14.10% 0.35%
consensus 0.47% 1.49% 8.20% 18.77% 18.80% 7.27% 4.66% 39.58% 0.76%
coregulate 1.62% 3.60% 13.45% 2.34% 27.36% 17.21% 8.63% 23.91% 1.88%
discuss 7.14% 4.76% 32.12% 8.43% 19.49% 10.58% 2.23% 1.16% 14.10%
emotion 0.25% 32.53% 32.04% 3.42% 10.19% 7.68% 3.63% 9.98% 0.28%
monitor 1.12% 5.58% 15.91% 5.79% 37.54% 9.07% 1.81% 21.56% 1.61%
plan 0.10% 2.52% 29.04% 1.72% 6.79% 14.68% 7.55% 37.42% 0.18%
synthesis 23.47% 3.37% 46.63% 4.45% 6.29% 7.06% 1.23% 7.52% 0.00%

The function centralities() can be used to compute various centrality measures (see ?centralities for more information). These measures can also be visualized with the plot() function.

centrality_measures <- c("BetweennessRSP", "Closeness", "InStrength", "OutStrength")
cents_withoutloops <- centralities(
  tna_model,
  measures = centrality_measures,
  loops = FALSE,
  normalize = TRUE
)
plot(cents_withoutloops, ncol = 2, model = tna_model)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.