epiverse-trace / linelist

R package for handling linelist data
https://epiverse-trace.github.io/linelist/
Other
8 stars 4 forks source link

Fix subsetting by column with passing just one argument to [ #54

Closed Bisaloo closed 1 year ago

Bisaloo commented 1 year ago

Fix #51

Old behaviour

This differed from how data.frame and tibble work:

library(linelist)

x <- make_linelist(cars, date_onset = "dist", date_outcome = "speed")

x[1]
#> 
#> // linelist object
#>   speed dist
#> 1     4    2
#> 
#> // tags: date_onset:dist, date_outcome:speed

cars[1]
#>    speed
#> 1      4
#> 2      4
#> 3      7
#> 4      7
#> 5      8
#> 6      9
#> 7     10
#> 8     10
#> 9     10
#> 10    11
#> 11    11
#> 12    12
#> 13    12
#> 14    12
#> 15    12
#> 16    13
#> 17    13
#> 18    13
#> 19    13
#> 20    14
#> 21    14
#> 22    14
#> 23    14
#> 24    15
#> 25    15
#> 26    15
#> 27    16
#> 28    16
#> 29    17
#> 30    17
#> 31    17
#> 32    18
#> 33    18
#> 34    18
#> 35    18
#> 36    19
#> 37    19
#> 38    19
#> 39    20
#> 40    20
#> 41    20
#> 42    20
#> 43    20
#> 44    22
#> 45    23
#> 46    24
#> 47    24
#> 48    24
#> 49    24
#> 50    25

Created on 2023-04-18 with reprex v2.0.2.9000

New behaviour

This is consistent with how data.frame and tibble work

library(linelist)

x <- make_linelist(cars, date_onset = "dist", date_outcome = "speed")

x[1]
#> Warning in prune_tags(out, lost_action): The following tags have lost their variable:
#>  date_onset:dist
#> 
#> // linelist object
#>    speed
#> 1      4
#> 2      4
#> 3      7
#> 4      7
#> 5      8
#> 6      9
#> 7     10
#> 8     10
#> 9     10
#> 10    11
#> 11    11
#> 12    12
#> 13    12
#> 14    12
#> 15    12
#> 16    13
#> 17    13
#> 18    13
#> 19    13
#> 20    14
#> 21    14
#> 22    14
#> 23    14
#> 24    15
#> 25    15
#> 26    15
#> 27    16
#> 28    16
#> 29    17
#> 30    17
#> 31    17
#> 32    18
#> 33    18
#> 34    18
#> 35    18
#> 36    19
#> 37    19
#> 38    19
#> 39    20
#> 40    20
#> 41    20
#> 42    20
#> 43    20
#> 44    22
#> 45    23
#> 46    24
#> 47    24
#> 48    24
#> 49    24
#> 50    25
#> 
#> // tags: date_outcome:speed

cars[1]
#>    speed
#> 1      4
#> 2      4
#> 3      7
#> 4      7
#> 5      8
#> 6      9
#> 7     10
#> 8     10
#> 9     10
#> 10    11
#> 11    11
#> 12    12
#> 13    12
#> 14    12
#> 15    12
#> 16    13
#> 17    13
#> 18    13
#> 19    13
#> 20    14
#> 21    14
#> 22    14
#> 23    14
#> 24    15
#> 25    15
#> 26    15
#> 27    16
#> 28    16
#> 29    17
#> 30    17
#> 31    17
#> 32    18
#> 33    18
#> 34    18
#> 35    18
#> 36    19
#> 37    19
#> 38    19
#> 39    20
#> 40    20
#> 41    20
#> 42    20
#> 43    20
#> 44    22
#> 45    23
#> 46    24
#> 47    24
#> 48    24
#> 49    24
#> 50    25

Created on 2023-04-18 with reprex v2.0.2.9000