Breaking changes:
get_geometrydefault for "output_crs" changed to NULL, to leave input coordinates in original crs by default (PR 132)- default for "return_rank" in
distance_to_centroidchanged from FALSE to TRUE group_ptsnow returns NA if coords / geometry are NA (part of (PR 128)fusion_idnow also checks future timegroup withshift(type = 'lead')whereas previous versions only checked lag timegroups and lead+lag spatial distance (PR 142)
Enhancements:
- use new internal
calc_centroidfunction in and provide geometry interface forcentroid_group,centroid_dyadandcentroid_fusion(PR 127)- improves internal
calc_centroidefficiency by quickly returning coordinates/geometry if length is 1, and using mean instead ofsf::st_centroidwhere appropriate - reduce repeated source code and testing by refactoring
centroid_dyadandcentroid_fusionto use a shared internal function
- improves internal
- use new internal
calc_directionfunction in and provide geometry interface fordirection_step,direction_to_centroid,direction_to_leaderandedge_direction(PR 125) - use new internal
calc_distancefunction in and provide geometry interface forgroup_pts,edge_nn,edge_dist,distance_to_centroidanddistance_to_leader(PR 128)- location data can be in longlat provided a crs is provided with coordinates or geometry has crs set
- previous distance measurement methods are retained to preserve backwards compatibility if crs is NULL
- add geometry interface and ensure coordinates/geometry are planar for
leader_direction_group(PR 125) - improve speed of
direction_group(PR 133) - remove requirement on 'dyadID' for edge_direction (PR 137)
Vignettes:
- add geometry interface and spatial measures vignette
(PR 119)
- add toc and links to other vignettes in all vignettes
- add
fusion_idexample to using distance based edge-list generating functions vignette - rename "additional data formats" vignette to "interspecific interactions"
Fixes:
- fix
edge_directionbug if geometry in both edges and DT (PR 136) - fix missing return units in output from
edge_alignment(PR 141)
New experimental functions:
get_geometryhelper function for setting up an input DT with a sfc geometry column (PR 117)- internal
calc_distancefunction for geometry interface (see #116) (PR 122) - internal
calc_distancefunction for geometry interface (see #116) (PR 123) - internal
calc_centroidfunction for geometry interface (see #116) (PR 124)
Fixes:
- "projection" argument is soft-deprecated in favour of "crs" argument to better align with {sf} (PR 118)
- general adjustments of checks and tests before new geometry interface (PR 120
- use new
assert_*family of internal functions for checking arguments, returning {rlang} errors (PR 121
New experimental functions:
edge_directionfunction for calculating the direction between individuals (PR 80)edge_zonesfunction for calculating behavioural zones (PR 112)
Fixes:
- Fix
centroid_dyadandcentroid_fusionreturn NA for centroids when dyadID / fusionID are NA (PR 114)
Maintenance:
- Doc fixes including replacing all roxygen tags (eg.
\code{}) with Markdown throughout package, and using consistent language across man pages (#94, PR 113) - Used {flir} to fix some lints (PR 115)
New experimental function:
edge_alignmentfunction for calculating directional alignment (PR 111)
Fixes:
- fix missing pkg::function (PR 110)
Breaking changes:
- Bug where Cij != -Cji fixed in
edge_delay, since order of individuals ID1/ID2 should not influence results (PR 106) - Improve output colnames for edge_delay (PR 102)
New experimental function:
leader_edge_delayfunction for calculating leadership with the directional correlation delay (PR 96)
Fixes:
- Fix {units} version requirement (PR 96, PR 99)
- Fix use new GitHub actions (PR 101)
- Fix missing keyword internal (PR 98)
- Add test window size for edge_delay (PR 103)
- Improve documentation of which functions use modify-by-reference (PR 109)
New experimental function:
edge_delayfunction for calculating the directional correlation delay (PR 70)
Fixes:
- fix bracket typo longlat
direction_step(PR 92) - fix test expected direction of steps (PR 93)
- fix GitHub actions: update to workflow versions, add manual install MacOS system dependencies (PR 101)
- add dependency on {units} version 0.8-6 that corrects error in %% operator arithmetic (PR 100)
New experimental functions:
leader_direction_groupfunction for calculating leadership defined as position within a spatiotemporal group along the mean direction of movement (PR 66)direction_to_leaderfunction for calculating the direction to the leader of each spatiotemporal group identified byleader_direction_group(PR 68)distance_to_leaderfunction for calculating the distance to the leader of each spatiotemporal group identified byleader_direction_group(PR 68)
Fixes:
- removed temporary startup message warning of changes related to R-spatial evolution
New experimental functions:
direction_polarizationfunction for calculating polarization of individual directions within spatiotemporal groups (PR 76)direction_groupfunction for calculating mean group direction (PR 91)direction_to_centroidfunction for calculating direction in radians from each individual's position in a spatiotemporal group and the group's centroid,distance_to_centroidfunction for calculation the distance (and rank distance) from each individual's position in a spatiotemporal group and the group's centroid (PR 74)direction_stepfunction for calculating direction in radians between each location (PR 90)
New experimental functions:
centroid_fusionfunction for calculation fusion centroids (PR 89)centroid_groupfunction for calculating group centroids (PR 72))
New experimental function:
fusion_idfunction for flexibly identifying fission-fusion events (PR 78)- improve tests of
fusion_idwith tests for expected number of output fusionIDs (PR 83)
- fixed CRAN notes about number of cores/parallel process/threads (PR 58)
- fixed CRAN notes (PR 56)
- following R-spatial evolution,
removed dependencies on retired spatial packages (
PR 50:
PR 52,
PR 53,
PR 54
PR 55)
- spatsoc now depends on
sf,unitsinstead ofrgeosandsp build_linesnow returns ansfLINESTRING objectbuild_polysnow returns ansfPOLYGON/MULTIPOLYGON objectgroup_linesnow accepts an inputsfLINESTRING object (argument "sfLines") and internally usessf::st_intersects,sf::st_buffer, etc instead ofrgeosfunctionsgroup_polysnow accepts an inputsfPOLYGON/MULTIPOLYGON object (argument "sfPolys") and internally usessf::st_intersects,sf::st_area, etc instead ofrgeosfunctions.group_polysnow returns area and proportion of overlap whenarea = TRUEwith respective units using theunitspackage- tests, vignettes, manual updated
- added temporary package startup message until November 2024
- spatsoc now depends on
- added a link to our
spatsoc+targetsworkflow example - changed the error and underlying check for
group_polysfrom alphanumeric to spaces in input DT's id column - clarify timegroups are required for
group_pts,edge_nnandedge_dist(PR 46) - fix potential mixup between a column named splitBy and splitBy arg (PR 45)
- fix links in man (PR 47)
- fix proportions outside 0-1 due to differences in default units from rgeos::gArea and polys@area (PR 49)
- Add keyword internal by @maelle (PR 40)
- Rm unnecessary lines by @maelle (PR 43)
- added an option for
edge_distto handle threshold = NULL. If NULL,edge_distwill return all neighbours observed (eg. useful if one wanted to calculated mean nearest neighbour distance at each timegroup). - updated EPSG argument according to newest recommendations in tests, man and vignettes (PR 38
- removed expect_silent tests (PR 37)
- switched CI for tests and code coverage to GitHub Actions (PR 36)
- fix TZ=UTC data.table tests (Issue 32)
- updated tests, man and vignettes following new handling of projections in sp (PR 31, R spatial information)
- clarified explicit drop of NAs in dyadID in edge list vignette
- added
dyad_idfunction for generating dyad IDs with edge functions (PR 27) - added a vignette describing
edge_dist,edge_nnanddyad_idfunctions here (PR 14)
- fixed
data.tableerror inedge_distandedge_nn(PR 25)
- removed default NULL from 'timegroup' arguments in
group_pts,edge_distandedge_nn(PR 24)
- fixed bug for randomizations type 'step' and 'daily' (PR 13).
- clarified
SIMPLIFY=FALSEin SNA vignette.
- update FAQ and Introduction to spatsoc vignettes adding entries for edge list generating functions.
- added edge list generating function
edge_nn(PR 11) - added edge list generating function
edge_dist(PR 11)
- fix inconsistent blocks across years (PR 10)
- update FAQ: remove old randomizations notes, clarify group_times block
- update issue labels and contributing
- change over issue board location from GitLab to rOpenSci repository on GitHub
- added preprint CITATION
- added "https://" to
pkgdownURL (PR 1)
- fin rOpenSci onboarding process
- fixed bug couldn't provide percent to kernel type
build_polysorgroup_polys(!3)
- added
get_gbito generate group by individual matrices for better integratingspatsocin social network analysis workflows (!2)
- major change to randomizations: when
iterations = 1,randomizationsno longer returns the DT with appended columns. Regardless of the value of iterations,randomizationsalways returns observed rows followed by randomized rows in a longdata.table(!1).
- improvements to package, function documentation
- FAQ vignette added
- fixed
build_linesordering bug to ensure rows are ordered by date time when building lines - added CODE_OF_CONDUCT.md and CONTRIBUTING.md
- Using spatsoc in social network analysis vignette added
- temporal grouping function:
group_times - spatial grouping functions:
group_pts,group_lines,group_polys - data-stream randomization function:
randomizations - spatial build functions:
build_lines,build_polys