NEWS
spatstat.linnet 3.5-1 (2026-05-31)
OVERVIEW
NEW FUNCTIONS
- intensity.lppm
Intensity of a fitted point process model on a linear network.
spatstat.linnet 3.5-0 (2026-03-31)
OVERVIEW
- More flexible interpretation of arguments "lambda = lppm"
for inhomogeneous summary statistics.
- Merge tiles of a tessellation on a network.
- Specify the 'theoretical' value of the summary function in 'envelope'.
- Minor improvements and bug fixes
NEW FUNCTIONS
- mergeTiles.lintess
Merge some of the tiles in a tessellation on a linear network.
SIGNIFICANT USER-VISIBLE CHANGES
- linearKcross.inhom, linearKdot.inhom,
linearpcfcross.inhom, linearpcfdot.inhom
When argument 'lambdaI', 'lambdaJ' or 'lambdadot' is a point process model,
the interpretation now depends on whether the model is multitype or
unmarked. A multitype point process model will be interpreted as
providing the intensity for each possible type of point. An unmarked point
process model will be interpreted as providing the intensity only for the
relevant type of point (type i only, type j only, or total intensity
for all types of points).
- density.lpp
Argument 'weights' can be logical valued.
- relrisk.lpp
Argument 'weights' can be logical valued.
- envelope.lpp, envelope.lppm
New argument 'theoryfun' can be used to provide the theoretical value
of the summary function.
BUG FIXES
- quadratcount.lpp
Crashed if 'tess' was a tessellation of class 'lintess'.
Fixed.
spatstat.linnet 3.4-1 (2026-01-31)
OVERVIEW
- Improved algorithm for integrating a function on a network.
- Improvements to perspective plot of a function on a network.
- Identify threads in a network.
- lppm recognises the local coordinates 'seg' and 'tp'.
- Minor improvements and bug fixes.
NEW FUNCTIONS
- threads
Identify threads in a network.
SIGNIFICANT USER-VISIBLE CHANGES
- density.lpp
Improved message output when verbose=TRUE.
- integral.linfun
New argument 'exact'. If 'exact=TRUE', a more accurate algorithm is used.
- lppm
The model formula may involve the local coordinates 'seg' and 'tp'
('seg' is segment number, 'tp' is relative position along the segment)
- lurking.lppm, lurking.lpp
Argument 'covariate' can be a function(x,y)
or one of the strings "x", "y" or "tp".
- persp.linim
Improved behaviour close to vertices of the network.
New argument 'extrapolate'.
- persp.linim
Argument 'col.base' can be a pixel image, allowing a colour image
to be plotted on the horizontal plane at height zero.
- persp.linim
New argument 'zadjust' to adjust the vertical scale.
BUG FIXES
- as.linnet.psp
Crashed sometimes if the window of X was not convex.
Fixed.
- lurking.lppm
Crashed if envelope=TRUE.
Fixed.
- plot.linnet
Disobeyed 'do.plot=FALSE'.
Fixed.
- shortestpath
This function was defined, but was not exported from spatstat.linnet.
Fixed.
spatstat.linnet 3.4-0 (2025-11-29)
OVERVIEW
- Diagnostics for a fitted point process model on a linear network.
- Quadrat counting and quadrat tests on a linear network.
- More geometrical operations on linear network objects.
- Pixelwise arithmetic on a linear network.
- Internal improvements.
NEW FUNCTIONS
- as.lintess
Convert other kinds of data to a tessellation on a network.
- diagnose.lppm
Diagnostic plots for point process model on a linear network.
- eem.lppm
Stoyan-Grabarnik exponential energy weights diagnostic.
- harmonise.linim
Convert several images on a network to a common pixel grid.
- linim.apply
Apply a function pixelwise to a list of images on a network.
- lurking.lpp
Lurking variable plot for point pattern on a linear network.
- lurking.lppm
Lurking variable plot for point process model on a linear network.
- flipxy.linnet
Swap x and y coordinates of a linear network
- flipxy.lpp
Swap x and y coordinates of a point pattern on a linear network
- parres.lppm
Partial residual plot for point process model on a linear network.
- qqplot.lppm
Residual Q-Q plot for point process model on a linear network.
- quadratcount.lpp
Method for quadrat counting on a linear network.
- quadrat.test.lpp, quadrat.test.lppm
Methods for quadrat test on a linear network.
- residuals.lppm
Residual measure for a point process model on a linear network.
SIGNIFICANT USER-VISIBLE CHANGES
- as.linnet.psp
New arguments 'chop' and 'fuse'.
- bw.voronoi
New argument 'metric' passed to 'densityVoronoi.lpp'.
- densityVoronoi.lpp
New argument 'metric' passed to 'lineardirichlet'.
- integral.linim, integral.linfun
Argument 'domain' can be a tessellation on a network (class 'lintess').
- intersect.lintess
Improved behaviour when X or Y is a 2D tessellation.
- lineardirichlet
New argument 'metric' allows the tessellation to be constructed
using either the shortest-path distance or Euclidean distance.
- linequad
Argument 'Y' can be a linear network.
- print.lintess
Output improved.
BUG FIXES
- intersect.lintess
Result was incorrect if X was a tessellation and Y was a linear network.
Fixed.
spatstat.linnet 3.3-2 (2025-09-24)
OVERVIEW
- Summary functions handle NA objects.
SIGNIFICANT USER-VISIBLE CHANGES
- Summary functions
(linearK, linearKinhom, linearKeuclid,
linearKcross, linearKdot, linearKcross.inhom, linearKdot.inhom
linearpcf, linearpcfinhom, linearpcfEuclid
linearpcfcross, linearpcfdot, linearpcfcross.inhom, linearpcfdot.inhom
linearmarkequal, linearmarkconnect, linearJinhom)
If X is a missing point pattern, a missing object of class 'fv' is returned.
spatstat.linnet 3.3-1 (2025-07-24)
OVERVIEW
- Minor changes to documents to satisfy CRAN package checker.
spatstat.linnet 3.3-0
OVERVIEW
- Extension of ROC curves.
- Interactively identify segments of a network.
- Interactively identify tiles of a tessellation on a network.
NEW FUNCTIONS
- identify.linnet
Interactively identify segments of a network.
- identify.lintess
Interactively identify tiles of a tessellation on a network.
- as.linfun.linnet
Create a function on a linear network which maps each network segment
to a specified value.
SIGNIFICANT USER-VISIBLE CHANGES
- roc.lpp
New argument 'baseline' allows calculation of ROC relative to a baseline.
- roc.lpp
New argument 'weights' for numerical weights on the data points.
- roc.lpp
New argument 'method' determines the estimation method.
New options include a kernel smoothing estimate and a monotone estimate.
- roc.lpp
New arguments 'CI', 'alpha' for calculating confidence intervals.
- roc.lpp
New argument 'subset' specifies a sub-region of the spatial domain
in which the ROC should be calculated.
- roc.lppm
New argument 'baseline' allows calculation of ROC relative to a baseline.
- roc.lppm
New argument 'method' determines the estimation method.
New options include a kernel smoothing estimate and a monotone estimate.
- roc.lppm
New arguments 'CI', 'alpha' for calculating confidence intervals.
- roc.lppm
New argument 'subset' specifies a sub-region of the spatial domain
in which the ROC should be calculated.
- roc.lppm
New argument 'leaveoneout' specifies whether to use leave-one-out estimates
of intensity at the data points.
- chop.linnet
Improved labels of tiles in the resulting tessellation.
spatstat.linnet 3.2-6 (2025-05-23)
OVERVIEW
BUG FIXES
- [.lpp
Results with snip=TRUE were incorrect in some cases.
Fixed.
spatstat.linnet 3.2-5 (2025-01-22)
OVERVIEW
- Minor changes in documentation to satisfy the package checker.
spatstat.linnet 3.2-4
OVERVIEW
BUG FIXES
- lppm
For models involving covariates of class 'lintess', the internal
structure of the fitted model was corrupted, leading to errors in
calculating properties of the fitted model, such as predict.lppm.
[Spotted by Andrea Gilardi.]
[Bug fix requires spatstat.model 3.3-3.002]
Fixed.
spatstat.linnet 3.2-3 (2024-11-19)
OVERVIEW
- Shortest path between two points on a network.
NEW FUNCTIONS
- shortestpath
Find the shortest path between two specified points on a network,
and return it as a line segment pattern.
spatstat.linnet 3.2-2 (2024-09-20)
OVERVIEW
- Tweaks to documentation.
- Internal improvements.
spatstat.linnet 3.2-1 (2024-07-15)
OVERVIEW
- Internal tweaks to satisfy CRAN package checker.
spatstat.linnet 3.2-0
OVERVIEW
- spatstat.linnet now depends on 'spatstat.univar'.
- extract the subset of an image that lies on selected segments of network.
- Minor improvements.
- Internal improvements.
PACKAGE DEPENDENCE
- spatstat.linnet
Now depends on the new package 'spatstat.univar'.
SIGNIFICANT USER-VISIBLE CHANGES
- identify.lpp
Automatically starts a new plot device and displays 'x'
if there is no plot device open.
- thinNetwork
X can be a pixel image on a linear network (object of class 'linim').
- plot.linnet, plot.lpp
These functions now recognise the argument 'adj.main'.
spatstat.linnet 3.1-5 (2024-03-25)
OVERVIEW
- Slightly accelerated.
- Internal stability improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- spatstat.linnet package
Some computations slightly accelerated.
spatstat.linnet 3.1-4 (2024-02-04)
OVERVIEW
- Added a full list of functions to the main help file.
- Intersection of a 2D tessellation with a network.
- Internal improvements.
SIGNIFICANT USER-VISIBLE CHANGES
- intersect.lintess
Can compute the intersection between a two-dimensional tessellation
and a linear network (yielding a tessellation on the network).
spatstat.linnet 3.1-3 (2023-10-28)
OVERVIEW
- Minor corrections to help files.
spatstat.linnet 3.1-2
OVERVIEW
- Minor improvements to help files.
spatstat.linnet 3.1-1 (2023-05-15)
OVERVIEW
SIGNIFICANT USER-VISIBLE CHANGES
- rhohat.lpp, rhohat.lppm
New argument 'rule.eps' passed to 'as.mask'.
- as.linim.default, as.linim.linfun
New argument 'rule.eps' passed to 'as.mask'.
spatstat.linnet 3.1-0 (2023-04-14)
OVERVIEW
- Inhomogeneous K and pcf using automatic estimation of intensity.
- density.lpp accepts bandwidth selection rules.
- density.lpp accepts sigma=NULL and has a simple default.
- Updated package documentation.
SIGNIFICANT USER-VISIBLE CHANGES
- linearKinhom, linearpcfinhom, linearKEuclidInhom, linearpcfEuclidInhom
Argument 'lambda=NULL' is now interpreted to mean that the intensity
should be estimated by kernel smoothing. A warning is issued that this
is different from the previous behaviour.
- linearKdot.inhom, linearpcfdot.inhom
Argument 'lambdaI=NULL' or 'lambdadot=NULL' is now interpreted to mean
that the intensity should be estimated by kernel smoothing.
- linearKcross.inhom, linearpcfcross.inhom
Argument 'lambdaI=NULL' or 'lambdaJ=NULL' is now interpreted to mean
that the intensity should be estimated by kernel smoothing.
- density.lpp
Argument 'sigma' can now be a function in the R language,
assumed to provide a bandwidth selection rule. This function
will be applied to the point pattern x to compute the bandwidth.
- density.lpp
Argument 'sigma=NULL' is now accepted. The default value is one-eighth
of the length of the shortest side of the bounding box of x.
- densityQuick.lpp
Argument 'X' changed to 'x' for consistency.
- linearpcfinhom
New arguments 'adjust.sigma', 'bw' and 'adjust.bw'.
- linearpcfdot.inhom, linearpcfcross.inhom
New arguments 'adjust.sigma', 'bw' and 'adjust.bw'.
- linearpcfEuclidInhom
New arguments 'adjust.sigma', 'bw' and 'adjust.bw'.
spatstat.linnet 3.0-6 (2023-02-22)
OVERVIEW
- Internal improvements and bug fixes.
spatstat.linnet 3.0-5
OVERVIEW
- Improvements and bug fixes in 'lppm' class.
- Minor extension to random generators.
SIGNIFICANT USER-VISIBLE CHANGES
- runiflpp, rpoislpp
The simulation parameters can be determined from an example
point pattern, given as the argument 'ex'.
- print.lppm, summary.lppm
The name of the original point pattern dataset (to which the
model was fitted) is now printed.
- print.lppm, summary.lppm
Improved output.
- update.lppm
Internal improvements.
spatstat.linnet 3.0-4 (2023-01-27)
OVERVIEW
- quantile function on a network.
- Minor enhancements and bug fixes.
NEW FUNCTIONS
- quantilefun.linim
Quantile function, returned as a function.
Method for 'quantilefun' for images on a network.
BUG FIXES
- relrisk.lpp
Crashed if allow.infinite=FALSE.
Fixed.
spatstat.linnet 3.0-3 (2022-11-15)
OVERVIEW
- We thank Brian Ripley for contributions.
- Internal bug fix.
BUG FIXES
- pairdist.lpp
Results could have been completely incorrect, due to an internal bug,
if the linear network data was in the non-sparse representation.
spatstat.linnet 3.0-2 (2022-11-09)
OVERVIEW
- Internal tweaks to satisfy package checker.
spatstat.linnet 3.0-1
OVERVIEW
spatstat.linnet 3.0-0
OVERVIEW
- We thank Greg McSwiggan, Fernando Milesi, Mehdi Moradi, Gopalan Nair
and James Pope for contributions.
- spatstat.linnet now depends on the new packages 'spatstat.explore'
and 'spatstat.model' rather than the old 'spatstat.core'.
- Kernel smoothing on a linear network.
- K function and pair correlation function based on Euclidean distance.
- Inhomogeneous J function on a network.
- Terminal vertices of a network.
- Points along a network can be drawn as cross-ticks.
- Marks attached to vertices and segments of a network.
- Important change to K function and pair correlation function
when 'ratio=TRUE'.
- U-shaped curves in 'rhohat'.
- Faster computation of the length of the disc in the shortest path metric.
- Minor improvements and bug fixes.
- Improvements to internal code.
- Minor internal changes to package information.
NEW FUNCTIONS
- lineardisclength
Compute the length of the disc in the shortest-path metric.
- marks.linnet, marks<-.linnet
Marks attached to the vertices and segments of a linear network.
- Smooth.lpp
Kernel smoothing (Nadaraya-Watson) on a linear network.
- distmap.lpp
Distance map for a point pattern on a network.
- linearKEuclid, linearpcfEuclid, linearKEuclidInhom, linearpcfEuclidInhom
K function and pair correlation function based on Euclidean distances.
- linearJinhom
Inhomogeneous J function on a linear network.
- terminalvertices
Extract the terminal vertices of a linear network.
- bw.relrisk.lpp
This function replaces 'bw.relrisklpp'
and is a method for the generic 'bw.relrisk'.
- rThomaslpp
Simulate Thomas cluster process on a network.
SIGNIFICANT USER-VISIBLE CHANGES
- Package dependence
'spatstat.linnet' now depends on the new packages 'spatstat.explore'
and 'spatstat.model' rather than the old 'spatstat.core'.
- plot.lpp
If 'shape="crossticks"', the points will be drawn as
short line segments perpendicular to the network.
- linearK, linearpcf, linearKdot, linearKcross, linearpcfcross, linearpcfdot
When 'ratio=TRUE', the denominator is now equal to the number of
ordered pairs of data points considered. This does not affect the
summary function, but it changes the calculation of pooled estimates.
- densityQuick.lpp
If 'sigma' is a function for selecting a bandwidth,
additional arguments '...' of densityQuick.lpp will be passed to 'sigma',
provided they match the name of a formal argument of 'sigma'.
- bw.relrisklpp
This function is now deprecated, and is replaced by 'bw.relrisk.lpp',
a method for the generic 'bw.relrisk'.
- bw.relrisk.lpp
When 'method="likelihood"', the cross-validation criterion
is now defined as the *negative* likelihood. This is consistent with
'bw.relrisk.ppp', and ensures that the optimum bandwidth is always
found by minimising the cross-validation criterion.
- integral.linim, integral.linfun
New argument 'weight' specifies a weight function for the integration.
- rhohat.lpp, rhohat.lppm
New options 'smoother="mountain"' and 'smoother="valley"'
for estimating a unimodal function (U-shaped curve).
- rhohat.lpp, rhohat.lppm
If the covariate is a 'distfun' on a network, the unit of length
will be saved, and will be displayed on the plot.
- rhohat.lpp, rhohat.lppm
New arguments 'jitter', 'jitterfactor', 'interpolate' allow greater
control over the calculation.
- plot.linnet
Optionally displays the marks of the segments or marks of the vertices.
Changed argument list.
- print.linnet, summary.linnet
These functions print information about marks of the segments or vertices.
- predict.lppm
Can now compute standard errors.
- predict.lppm
New formal arguments 'covariates' and 'se'.
- rhohat.lpp, rhohat.lppm
New argument 'do.CI' specifies whether to calculate confidence bands.
BUG FIXES
- density.lpp
If 'weights' were given, the results were completely incorrect
when leaveoneout=TRUE (the default) and at="points".
- spatstat.model::effectfun
Results were sometimes incorrect for 'lppm' objects.
[Spotted by Fernando A. Milesi]
Fixed.
- predict.lppm
Ignored argument 'covariates'.
Fixed.
- rhohat.lpp, rhohat.lppm
The argument 'subset' was not handled correctly in the internal data.
The estimated function 'rho' was correct
but the results of 'predict.rhohat' may have been incorrect
and were computed only on the 'subset'.
Fixed.
- plot.lpp
Did not display the main title in some cases.
Fixed.
- "[.lpp", "[.linnet"
Ignored marks attached to the network segments.
Fixed.
- "[.lpp", "[.linnet"
Crashed if the network vertices had marks, when 'snip=TRUE'.
Fixed.
- densityQuick.lpp
Crashed sometimes with a message about unequal lengths of vectors.
Fixed.
spatstat.linnet 2.3-2 (2022-02-16)
OVERVIEW
- 'spatstat.linnet' now depends on 'spatstat.random'.
SIGNIFICANT USER-VISIBLE CHANGES
- package dependence
'spatstat.linnet' now depends on the new package 'spatstat.random'.
spatstat.linnet 2.3-1 (2021-12-11)
OVERVIEW
- More control over resolution of 'linim' objects.
- Improved documentation.
- Minor improvements and bug fixes.
SIGNIFICANT USER-VISIBLE CHANGES
- as.linim.default, as.linim.linfun
New argument 'nd'
- integral.linfun
New argument 'nd'
- rjitterlpp, rjitter.lpp
The function 'rjitterlpp' has been renamed 'rjitter.lpp'
and is now a method for the generic 'rjitter'.
- rjitterlpp
This function still exists, but is now deprecated in favour of 'rjitter.lpp'.
BUG FIXES
- rjitterlpp
The argument 'radius' was interpreted as a fraction of segment length
rather than an absolute distance.
Fixed.
spatstat.linnet 2.3-0 (2021-07-17)
OVERVIEW
- We thank Suman Rakshit, Greg McSwiggan and Marc Schneble
for contributions.
- Sufficient Dimension Reduction on a linear network.
- Perspective-view plots of linfun and linim objects.
- Bug fix to Math.linim
- Minor additions.
NEW FUNCTIONS
- sdr.lpp
Sufficient Dimension Reduction on a linear network.
[Contributed by Suman Rakshit.]
- persp.linfun, persp.linim
Perspective-view plots of functions on a linear network (class linim)
and images on a linear network (class linfun).
[Written by Adrian Baddeley and Greg McSwiggan.]
SIGNIFICANT USER-VISIBLE CHANGES
- response.lppm
Method for 'response' for fitted point process models on a network.
BUG FIXES
- Math.linim
If 'Z' was a pixel image on a network (class 'linim')
and 'v' was a single number, then 'Z/v' was a pixel image (class 'im')
instead of a pixel image on a network (class 'linim').
[Spotted by Marc Schneble.]
Fixed.
- bw.voronoi
Printed output stated that the cross-validation criterion was minimised
instead of maximised.
spatstat.linnet 2.2-1 (2021-06-22)
OVERVIEW
- Minor changes to satisfy CRAN.
spatstat.linnet 2.2-0
OVERVIEW
- Extensions to rhohat.lpp and rhohat.lppm.
- Internal bug fixes.
SIGNIFICANT USER-VISIBLE CHANGES
- rhohat.lpp, rhohat.lppm
New option (smoother='piecewise') computes a piecewise-constant
estimate of rho(z).
- rhohat.lpp, rhohat.lppm
The result now includes the 'average' intensity rho.
spatstat.linnet 2.1-1 (2021-03-28)
OVERVIEW
- Tweak to satisfy the package checker.
spatstat.linnet 2.1-0
OVERVIEW
- We thank Andrea Gilardi for contributions.
- Bug fix in density.lpp
- Improvement to densityEqualSplit
- New function for jittering point patterns on a network.
- Function renamed.
NEW FUNCTIONS
- rjitterlpp
Apply random displacements to the points on a linear network.
- densityHeat.lpp
Diffusion kernel estimation of intensity on a linear network.
(formerly known as 'densityHeatlpp' and 'densityHeat', this is
now a method for the new generic 'densityHeat')
SIGNIFICANT USER-VISIBLE CHANGES
- densityEqualSplit
New arguments 'at' and 'leaveoneout' for consistency with other functions.
- densityHeat
The function formerly known as 'densityHeat' or 'densityHeatlpp'
is now renamed 'densityHeat.lpp' and is a method for the generic
'densityHeat'.
- density.lpp
Accelerated when the pattern contains duplicated points.
BUG FIXES
- density.lpp
The result had the wrong length if 'x' contained duplicated points
when 'weights' were given and 'at="points"'.
[Spotted by Andrea Gilardi]
Fixed.
spatstat.linnet 2.0-0 (2021-03-18)
OVERVIEW
- We thank Andrea Gilardi for contributions.
- Function renamed.
- Bug fix in density.lpp
SIGNIFICANT USER-VISIBLE CHANGES
- densityHeat
'densityHeat' has been temporarily renamed 'densityHeatlpp',
to prevent errors in the package checking process.
- [.linim
Accelerated.
BUG FIXES
- deviance.lppm, pseudoR2.lppm
Results were completely incorrect, due to a coding error.
Fixed.
- density.lpp
Crashed if 'weights' were given and 'x' contained duplicated points.
[Spotted by Andrea Gilardi]
Fixed.
- Lcross.inhom, Kcross.inhom, Kmulti.inhom
The option 'correction="none"' was accepted but ignored.
[Spotted by Corey Anderson.]
Fixed.
- simulate.rhohat
Crashed when applied to rhohat objects computed from data
on a linear network.
Fixed.
spatstat.linnet 1.65-9
OVERVIEW
spatstat.linnet 1.65-8
OVERVIEW
SIGNIFICANT USER-VISIBLE CHANGES
- densityHeat
'densityHeat' has been renamed 'densityHeat.lpp'.
spatstat.linnet 1.65-7
OVERVIEW
spatstat.linnet 1.65-1
OVERVIEW
spatstat.linnet 1.65-0
OVERVIEW
- Package initialised at version 1.65-0
SIGNIFICANT USER-VISIBLE CHANGES
- spatstat.linnet
The package 'spatstat.linnet' has been created from a subset
of the code in the original 'spatstat' package version 1.65-0.
It contains the functionality for statistical analysis of
spatial data on a linear network.
For an overview, see help("spatstat.linnet-package")
- Execution
The 'spatstat.linnet' package is slightly faster than the corresponding
code in the 'spatstat' package, because the procedure for calling
internal C functions has been streamlined.