Last updated on 2026-06-08 13:50:59 CEST.
| Flavor | Version | Tinstall | Tcheck | Ttotal | Status | Flags |
|---|---|---|---|---|---|---|
| r-devel-linux-x86_64-debian-clang | 0.3.6 | 6.41 | 176.02 | 182.43 | OK | |
| r-devel-linux-x86_64-debian-gcc | 0.3.6 | 4.25 | 62.69 | 66.94 | ERROR | |
| r-devel-linux-x86_64-fedora-clang | 0.3.6 | 10.00 | 285.66 | 295.66 | OK | |
| r-devel-linux-x86_64-fedora-gcc | 0.3.6 | 10.00 | 291.96 | 301.96 | OK | |
| r-devel-windows-x86_64 | 0.3.6 | 10.00 | 136.00 | 146.00 | OK | --no-vignettes |
| r-patched-linux-x86_64 | 0.3.6 | 5.04 | 167.60 | 172.64 | OK | |
| r-release-linux-x86_64 | 0.3.6 | 6.13 | 164.42 | 170.55 | OK | |
| r-release-macos-arm64 | 0.3.6 | 1.00 | 44.00 | 45.00 | OK | |
| r-release-macos-x86_64 | 0.3.6 | 4.00 | 187.00 | 191.00 | OK | |
| r-release-windows-x86_64 | 0.3.6 | 9.00 | 170.00 | 179.00 | OK | --no-vignettes |
| r-oldrel-macos-arm64 | 0.3.6 | OK | ||||
| r-oldrel-macos-x86_64 | 0.3.6 | 4.00 | 173.00 | 177.00 | OK | |
| r-oldrel-windows-x86_64 | 0.3.6 | 10.00 | 184.00 | 194.00 | OK | --no-vignettes |
Version: 0.3.6
Check: examples
Result: ERROR
Running examples in ‘tsna-Ex.R’ failed
The error most likely occurred in:
> base::assign(".ptime", proc.time(), pos = "CheckExEnv")
> ### Name: pShiftCount
> ### Title: Compute Counts of Gibson's Participation Shifts
> ### Aliases: pShiftCount
>
> ### ** Examples
>
> data(McFarland_cls33_10_16_96)
> pShiftCount(cls33_10_16_96)
Loading required namespace: relevent
Failed with error: ‘there is no package called ‘relevent’’
Error in loadNamespace(x) : there is no package called ‘relevent’
Calls: pShiftCount ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 0.3.6
Check: tests
Result: ERROR
Running ‘degree_tests.R’ [1s/1s]
Running ‘density_tests.R’ [4s/4s]
Running ‘durations_tests.R’ [3s/3s]
Running ‘fromDissTests.R’ [2s/2s]
Running ‘pShift_tests.R’ [1s/1s]
Running ‘path_tests.R’ [3s/3s]
Running ‘reachable_tests.R’ [5s/5s]
Running ‘statsWrapper_tests.R’ [1s/1s]
Running ‘timeProjectedNetwork_tests.R’ [3s/3s]
Running the tests in ‘tests/degree_tests.R’ failed.
Complete output:
> # tests for temporal degree functions
> library(tsna)
Loading required package: network
'network' 1.20.0 (2026-02-06), part of the Statnet Project
* 'news(package="network")' for changes since last version
* 'citation("network")' for citation information
* 'https://statnet.org' for help, support, and other information
Loading required package: networkDynamic
'networkDynamic' 0.12.0 (2026-04-08), part of the Statnet Project
* 'news(package="networkDynamic")' for changes since last version
* 'citation("networkDynamic")' for citation information
* 'https://statnet.org' for help, support, and other information
> library(testthat)
> library(sna)
Error in library(sna) : there is no package called 'sna'
Execution halted
Running the tests in ‘tests/pShift_tests.R’ failed.
Complete output:
> library(tsna)
Loading required package: network
'network' 1.20.0 (2026-02-06), part of the Statnet Project
* 'news(package="network")' for changes since last version
* 'citation("network")' for citation information
* 'https://statnet.org' for help, support, and other information
Loading required package: networkDynamic
'networkDynamic' 0.12.0 (2026-04-08), part of the Statnet Project
* 'news(package="networkDynamic")' for changes since last version
* 'citation("networkDynamic")' for citation information
* 'https://statnet.org' for help, support, and other information
> library(testthat)
>
>
> data(McFarland_cls33_10_16_96)
> output<-pShiftCount(cls33_10_16_96)
Loading required namespace: relevent
Failed with error: 'there is no package called 'relevent''
Error in loadNamespace(x) : there is no package called 'relevent'
Calls: pShiftCount ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
Running the tests in ‘tests/statsWrapper_tests.R’ failed.
Complete output:
> # tests for summary stats functions
> library(tsna)
Loading required package: network
'network' 1.20.0 (2026-02-06), part of the Statnet Project
* 'news(package="network")' for changes since last version
* 'citation("network")' for citation information
* 'https://statnet.org' for help, support, and other information
Loading required package: networkDynamic
'networkDynamic' 0.12.0 (2026-04-08), part of the Statnet Project
* 'news(package="networkDynamic")' for changes since last version
* 'citation("networkDynamic")' for citation information
* 'https://statnet.org' for help, support, and other information
> require(sna)
Loading required package: sna
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
there is no package called 'sna'
> require(testthat)
Loading required package: testthat
>
> # ---- tests for tSnaStats ----
>
> data(nd_test_nets)
> data(moodyContactSim)
>
> test_that('tSnaStats output as expected',{
+
+ # vertex level measure
+ output<-tSnaStats(moodyContactSim,'degree')
+
+ expect_true(is.ts(output))
+ expect_equal(ncol(output),network.size(moodyContactSim))
+ expect_equal(nrow(output),756)
+
+ # graph level measure
+ output<-tSnaStats(moodyContactSim,'gden')
+ expect_equal(ncol(output),1)
+ expect_equal(nrow(output),756)
+
+ # change sampling interval
+ output<-tSnaStats(moodyContactSim,'gden',time.interval=100)
+ expect_equal(ncol(output),1)
+ expect_equal(nrow(output),8)
+
+ # check start and end values
+ expect_equal(attributes(tSnaStats(moodyContactSim,'gden',start=600,time.interval=50))$tsp,c(600.00, 750.00, 0.02))
+ expect_equal(attributes(tSnaStats(moodyContactSim,'gden',end=600,time.interval=200))$tsp,c(40.000, 440.000, 0.005))
+
+ expect_error(tSnaStats(nd_test_nets[[1]],'degree'),regexp = "must be a object of class 'networkDynamic'")
+
+ # error for non supported function
+ expect_error(tSnaStats(moodyContactSim,'foo'),regexp = 'not one of the sna package descriptive statistics currently supported')
+
+ # test passing in function args (this would give error if FUN not passed in)
+ tSnaStats(moodyContactSim,'centralization',FUN='degree',time.interval = 100)
+
+ # test aggregate dur
+ dyads<-network.dyadcount(moodyContactSim)
+ expect_equal(as.numeric(tSnaStats(moodyContactSim,'gden',start=0,end=400,time.interval = 100,aggregate.dur=100)),c(1/dyads,0,2/dyads,0,2/dyads))
+ # this one should miss all the edges
+ expect_equal(as.numeric(tSnaStats(moodyContactSim,'gden',start=0,end=400,time.interval = 100,aggregate.dur=0)), c(0,0,0,0,0))
+
+ })
── Error: tSnaStats output as expected ─────────────────────────────────────────
Error in `tSnaStats(moodyContactSim, "degree")`: the sna package could not be loaded to provide summary functions
Backtrace:
▆
1. └─tsna::tSnaStats(moodyContactSim, "degree")
Error:
! Test failed with 1 failure and 0 successes.
Backtrace:
▆
1. └─testthat::test_that(...)
2. └─testthat:::test_code(code, parent.frame())
3. ├─withr (local) `<fn>`()
4. └─reporter$end_test(context = reporter$.context, test = test)
5. └─cli::cli_abort(...)
6. └─rlang::abort(...)
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc
Version: 0.3.6
Check: re-building of vignette outputs
Result: ERROR
Error(s) in re-building vignettes:
...
--- re-building ‘tsna_vignette.Rmd’ using rmarkdown
tsna package:tsna R Documentation
_<08>T_<08>o_<08>o_<08>l_<08>s _<08>f_<08>o_<08>r _<08>T_<08>e_<08>m_<08>p_<08>o_<08>r_<08>a_<08>l _<08>S_<08>o_<08>c_<08>i_<08>a_<08>l _<08>N_<08>e_<08>t_<08>w_<08>o_<08>r_<08>k _<08>A_<08>n_<08>a_<08>l_<08>y_<08>s_<08>i_<08>s
_<08>D_<08>e_<08>s_<08>c_<08>r_<08>i_<08>p_<08>t_<08>i_<08>o_<08>n:
Temporal SNA tools for continuous- and discrete-time longitudinal
networks. having vertex, edge, and attribute dynamics stored in
the networkDynamic format. This work was supported by grant
R01HD68395 from the National Institute of Health.
_<08>D_<08>e_<08>t_<08>a_<08>i_<08>l_<08>s:
This package provides tools for working with longitudinal network
data in 'networkDynamic-package' format. This data structure is
essentially a list in the 'network' format in which elements also
have an attached 'activity.attribute', a matrix of spells
indicating when vertex or edge is active. The networkDynamic
package provides tools ('networkDynamic') for translating
longitudinal data from various formats (timed edge lists, lists of
toggles, sets of matrices, etc).
Currently the package consists of several groups of functions
• wrappers for 'static' social network analysis metrics and
apply them at multiple time points
• functions that construct or use temporal paths through
networks
• basic tools for measuring durations of ties, rates of change,
etc
• utility functions for plotting, etc
The sections below provide some additional details. The package
vignette ('browseVignettes(package='tsna')') gives additional
examples and illustrations of key concepts.
It is the intention that, like the 'networkDynamic' package, tsna
should support both continuous time and discrete time
representations of networks. However, we are prioritizing
development of discrete time measures suitable for use with
simulation data (i.e. 'stergm' models) so many of the functions
are still missing the necessary arguments to facilitate binning.
_<08>S_<08>t_<08>a_<08>n_<08>d_<08>a_<08>r_<08>d '_<08>s_<08>t_<08>a_<08>t_<08>i_<08>c' _<08>S_<08>n_<08>a _<08>m_<08>e_<08>t_<08>r_<08>i_<08>c_<08>s:
These functions operate by collapsing the dynamic network into a
static network at a series of regular intervals and returning the
results as a time series 'ts' object. They can provide general
description of trends in a network dataset. Generally assumes
that vertex set is not substantially changing.
• 'tErgmStats' – descriptive stats (ergm terms) from the 'ergm'
package
• 'tSnaStats' – descriptive stats from the 'sna' package. Both
graph- and vertex-level measures. centralities, components,
reciprocity, betweenness, triad-census, etc.
_<08>T_<08>e_<08>m_<08>p_<08>o_<08>r_<08>a_<08>l _<08>p_<08>a_<08>t_<08>h _<08>b_<08>a_<08>s_<08>e_<08>d _<08>m_<08>e_<08>t_<08>r_<08>i_<08>c_<08>s:
These functions compute and use temporal paths (network geodesics
that are constrained by the activity times of edges) through a
network.
• 'tPath'
• 'tReach'
_<08>R_<08>a_<08>t_<08>e_<08>s _<08>a_<08>n_<08>d _<08>D_<08>u_<08>r_<08>a_<08>t_<08>i_<08>o_<08>n:
These functions can be used to compute distributions of (observed)
activity durations in a data structure. Note that due to censoring
(edges that begin before or end after the time observation window
for the network) the observed durations may be biased away from
the 'real' values (or model parameters). The duration estimate
functions use various types of survival analysis to return
estimates of these values.
• 'edgeDuration'
• 'vertexDuration'
• 'tiedDuration'
• 'tEdgeDissolution'
• 'tEdgeFormation'
• 'tiedDuration'
_<08>t_<08>s_<08>n_<08>a _<08>U_<08>t_<08>i_<08>l_<08>i_<08>t_<08>i_<08>e_<08>s:
• 'as.network.tPath'
• 'plotPaths'
• 'timeProjectedNetwork'
_<08>D_<08>a_<08>t_<08>a _<08>S_<08>e_<08>t_<08>s:
• 'moodyContactSim'
• additional useful datasets provided by the
'networkDynamicData' and 'networkDynamic' packages
_<08>S_<08>o_<08>u_<08>r_<08>c_<08>e:
This package is part of the statnet suite of packages
<https://statnet.org>. For citation information see
'citation('tsna')'.
paths package:tsna R Documentation
_<08>T_<08>e_<08>m_<08>p_<08>o_<08>r_<08>a_<08>l_<08>l_<08>y _<08>R_<08>e_<08>a_<08>c_<08>h_<08>a_<08>b_<08>l_<08>e _<08>P_<08>a_<08>t_<08>h_<08>s _<08>i_<08>n _<08>a _<08>n_<08>e_<08>t_<08>w_<08>o_<08>r_<08>k_<08>D_<08>y_<08>n_<08>a_<08>m_<08>i_<08>c _<08>O_<08>b_<08>j_<08>e_<08>c_<08>t
_<08>D_<08>e_<08>s_<08>c_<08>r_<08>i_<08>p_<08>t_<08>i_<08>o_<08>n:
Functions to search out the sequence and distances of vertices in
a 'networkDynamic' object reachable from an initial vertex by
following paths constrained by edge timing.
_<08>U_<08>s_<08>a_<08>g_<08>e:
tPath(nd, v, direction=c('fwd','bkwd'),
type=c('earliest.arrive', 'latest.depart'),
start, end, active.default = TRUE, graph.step.time = 0)
is.tPath(x)
_<08>A_<08>r_<08>g_<08>u_<08>m_<08>e_<08>n_<08>t_<08>s:
nd: networkDynamic object to be searched for temporal paths
v: integer id of the vertex to be used as the starting point of
the search
direction: option indicating the temporal direction in which the
network should be searched: ''fwd'' means search forwards in
time and forward along edge directions, ''bkwd'' means search
backwards in time and backwards along edge directions.
type: option indicating the type of path (temporal constraint of
the path) be searched for:
• ''earliest.arrive'' will find the paths that arrive first
at the target vertices,
• ''latest.depart'' will find the paths that leave the
source vertex at the latest possible time.
Additional options will be added as implemented.
start: time at which to begin searching. Edges that terminate before
this time will not be considered. If not specified, defaults
to earliest time observed on the network according to
'get.change.times'.
end: time to end the path search. Edges that onset on or after
this time will not be considered in the path search.
active.default: Boolean, default TRUE. Should edges with no timing
information be considered active by default?
graph.step.time: numeric. How much time should be added for each edge
traversal (graph hop)? Default is 0, meaning that path
distances returned will be purely temporal and will not
incorporate graph path distances and 'transmission' can cross
multiple edges in a single instant. A value of 1 would
correspond to counting path distances like a traditional
centrality score or discrete time simulation.
x: an object to be tested for inheriting the class ''tPath''
_<08>D_<08>e_<08>t_<08>a_<08>i_<08>l_<08>s:
A _temporal path_ in a dynamic network is a sequence of vertices
and edges such that the onset times of successive elements are
greater than or equal than those of the previous. In other words,
the path is a directed traversal of the network that respects the
constraints of edge activity spells and permits 'waiting' at
intermediate vertices for 'future' edges to form.
When set to use 'direction='fwd'' , 'type='earliest.arrive''
'tPath' performs a time-minimizing Dijkstra's style Depth First
Search to find the set of vertices reachable on a _forward
temporal path_ from the initial seed vertex 'v' while respecting
the constraints of edge timing.The path found is a _earliest
arriving_ (in contrast to the _earliest leaving_ or _quickest_ or
_latest arriving_ path). When there are multiple equivalent paths
only a single one will be arbitrarily returned. NOTE THAT THE
PATH-FINDING ALGORITHM WILL NOT GIVE CORRECT RESULTS IF ANY SPELLS
CONTAIN VALUES LESS THAN 0.
When set to 'direction='bkwd'' and 'type='latest.depart'' the path
will be found by searching backwards in time from the 'end' point.
In other words, it returns the set of vertices that can reach 'v',
along with latest possible departure times from those vertices.
Note that in this case the elapsed time values returned for
'tdist' will be negative, indicating time measured backwards from
the 'end' bound.
When set to 'type='fewest.steps'' the path returned will be a
'shortest' (fewest steps/graph hops) time-respecting path. This
would not be necessiairly the quickest or earliest route, but
would pass across the fewest possible number of edges (requires
the fewest number of transmission steps).
The 'graph.step.time' parmeter allows specifying an explicit
duration for edge traversals. In this case the algorithm
considers both the onset and terminus times of activity spells to
ensure that suffecient time remains for an edge traversal to be
made. If 'graph.step.time' > the remaining duration of an edge's
activity spell, the edge is considered non-traverseable. The
primary use case for this parameter is to align the paths
discovered with those that might be found by a discrete time
transmission simulation in which a path can only spread a single
graph hop per model timestep.
Vertex activity is currently ignored, and it is assumed that once
a path reaches a vertex, all future edges from the vertex are
accessible. The path search can be constrained in time using the
'start' and 'end' parameters to bound the time span to be explored
by the path search.
''bwkd'' ''latest.depart'' is essentially the inverse of fwd
earliest arrive. It finds the latest time paths backwards from
the initial seed vertex. This is the _latest-leaving_ time. Note
that the distance returned are positive, but represent the latest
distance back in time from the 'end' parameter time at which a
vertex can reach 'v'.
The 'is.tPath' function checks if an object has the class 'tPath'.
_<08>V_<08>a_<08>l_<08>u_<08>e:
Currently an object of class 'tPath' which is essentially list
with several elements providing information on the path found.
tdist: A numeric vector with length equal to network size in which
each element contains the earliest/latest _temporal_ distance
at which the corresponding vertex could reach / be reached
from the seed vertex. Values are elapsed time, as measured
from the 'start' parameter. Unreachable vertices are marked
with 'Inf'
previous: A numeric vector with length equal to network size in which
each element indicates the previous vertex along (a possible)
reachable path. Can be used to reconstruct the path tree. The
initial vertex and unreachable vertices are marked with '0'
gsteps: A numeric vector (of length equal to network size) in which
each element indicates the number of steps in the path
(number of graph hops) to the vertex along the temporal path
found starting at the seed vertex.
start: the numeric start value that was used as the earliest bound
for the path calculation (may not have been explicitly set)
end: the numerid end value that was used as the latest bound for
the path calculation (may not have been explicitly set)
direction: The direction ''fwd'' or ''bkwd'' of the path
type: The type of temporal constraint for the path
_<08>N_<08>o_<08>t_<08>e:
Temporal distances are in terms of time measured from the 'start'
parameter, so to recover the model times at which each vertex was
reached for forward paths use '$tdist+start' and backward paths
with 'end- $tdist'. This is an early draft of the function, its
name and arguments are subject to change before release.
_<08>A_<08>u_<08>t_<08>h_<08>o_<08>r(_<08>s):
Skye Bender-deMoll
_<08>R_<08>e_<08>f_<08>e_<08>r_<08>e_<08>n_<08>c_<08>e_<08>s:
Unpublished discussions with James Moody and Martina Morris and
the statnet team.
Useful background information (for a slightly different algorithm)
can be found in: B. Bui Xuan, Afonso Ferreira, Aubin Jarry.
"Computing shortest, fastest, and foremost journeys in dynamic
networks." RR-4589, 2002.
https://inria.hal.science/inria-00071996/document
B. Bui Xuan, Afonso Ferreira, Aubin Jarry. Evolving graphs and
least cost journeys in dynamic networks. WiOpt'03: Modeling and
Optimization in Mobile, Ad Hoc and Wireless Networks, Mar 2003,
Sophia Antipolis, France. 10 p., 2003
https://inria.hal.science/inria-00466676/document
_<08>E_<08>x_<08>a_<08>m_<08>p_<08>l_<08>e_<08>s:
require(networkDynamicData)
data(hospital_contact)
hosPath<-tPath(hospital,v=1)
Quitting from tsna_vignette.Rmd:59-62 [unnamed-chunk-3]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<error/rlang_error>
Error in `library()`:
! there is no package called 'sna'
---
Backtrace:
▆
1. └─base::library(sna)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: processing vignette 'tsna_vignette.Rmd' failed with diagnostics:
there is no package called 'sna'
--- failed re-building ‘tsna_vignette.Rmd’
SUMMARY: processing the following file failed:
‘tsna_vignette.Rmd’
Error: Vignette re-building failed.
Execution halted
Flavor: r-devel-linux-x86_64-debian-gcc