-
Notifications
You must be signed in to change notification settings - Fork 300
Closed
Description
I just was pointed to this example where df[df,] does not fail (df being of the class sf). As for any other kind of indexing i needs to be character, logical or numeric I think this should fail (unless I miss why this should work?). It would be more intuitive if the failure behavior is similar to normal dataframe subsetting
require(sf)
#> Loading required package: sf
#> Linking to GEOS 3.10.2, GDAL 3.4.1, PROJ 8.2.1; sf_use_s2() is TRUE
pt1 = st_point(c(0,1))
pt2 = st_point(c(1,1))
st_sfc(pt1, pt2)
#> Geometry set for 2 features
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 0 ymin: 1 xmax: 1 ymax: 1
#> CRS: NA
#> POINT (0 1)
#> POINT (1 1)
d = data.frame(a = 1:2)
d$geom = st_sfc(pt1, pt2)
df = st_as_sf(d)
df[df,]
#> Simple feature collection with 2 features and 1 field
#> Geometry type: POINT
#> Dimension: XY
#> Bounding box: xmin: 0 ymin: 1 xmax: 1 ymax: 1
#> CRS: NA
#> a geom
#> 1 1 POINT (0 1)
#> 2 2 POINT (1 1)
d[d,]
#> Error in xj[i]: invalid subscript type 'list'
d[df,]
#> Error in xj[i]: invalid subscript type 'list'
df[d,]
#> Error in `[.default`(geom, i): invalid subscript type 'list'
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.1.2 (2021-11-01)
#> os Ubuntu 22.04.2 LTS
#> system x86_64, linux-gnu
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz Europe/Amsterdam
#> date 2023-07-05
#> pandoc 2.19.2 @ /usr/lib/rstudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> class 7.3-22 2023-05-03 [1] CRAN (R 4.1.2)
#> classInt 0.4-9 2023-02-28 [1] CRAN (R 4.1.2)
#> cli 3.6.1 2023-03-23 [1] CRAN (R 4.1.2)
#> DBI 1.1.3 2022-06-18 [1] CRAN (R 4.1.2)
#> digest 0.6.32 2023-06-26 [1] CRAN (R 4.1.2)
#> dplyr 1.1.2 2023-04-20 [1] CRAN (R 4.1.2)
#> e1071 1.7-13 2023-02-01 [1] CRAN (R 4.1.2)
#> evaluate 0.21 2023-05-05 [1] CRAN (R 4.1.2)
#> fansi 1.0.4 2023-01-22 [1] CRAN (R 4.1.2)
#> fastmap 1.1.1 2023-02-24 [1] CRAN (R 4.1.2)
#> fs 1.6.2 2023-04-25 [1] CRAN (R 4.1.2)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.1.2)
#> glue 1.6.2 2022-02-24 [1] CRAN (R 4.1.2)
#> htmltools 0.5.5 2023-03-23 [1] CRAN (R 4.1.2)
#> KernSmooth 2.23-21 2023-05-03 [1] CRAN (R 4.1.2)
#> knitr 1.43 2023-05-25 [1] CRAN (R 4.1.2)
#> lifecycle 1.0.3 2022-10-07 [1] CRAN (R 4.1.2)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.1.2)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.1.2)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.1.2)
#> proxy 0.4-27 2022-06-09 [1] CRAN (R 4.1.2)
#> purrr 1.0.1 2023-01-10 [1] CRAN (R 4.1.2)
#> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.1.2)
#> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.1.2)
#> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.1.2)
#> R.utils 2.12.2 2022-11-11 [1] CRAN (R 4.1.2)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.1.2)
#> Rcpp 1.0.10 2023-01-22 [1] CRAN (R 4.1.2)
#> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.1.2)
#> rlang 1.1.1 2023-04-28 [1] CRAN (R 4.1.2)
#> rmarkdown 2.23 2023-07-01 [1] CRAN (R 4.1.2)
#> rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.1.2)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.1.2)
#> sf * 1.0-13 2023-05-24 [1] CRAN (R 4.1.2)
#> styler 1.10.1 2023-06-05 [1] CRAN (R 4.1.2)
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.1.2)
#> tidyselect 1.2.0 2022-10-10 [1] CRAN (R 4.1.2)
#> units 0.8-2 2023-04-27 [1] CRAN (R 4.1.2)
#> utf8 1.2.3 2023-01-31 [1] CRAN (R 4.1.2)
#> vctrs 0.6.3 2023-06-14 [1] CRAN (R 4.1.2)
#> withr 2.5.0 2022-03-03 [1] CRAN (R 4.1.2)
#> xfun 0.39 2023-04-20 [1] CRAN (R 4.1.2)
#> yaml 2.3.7 2023-01-23 [1] CRAN (R 4.1.2)
#>
#> [1] /home/bart/R/x86_64-pc-linux-gnu-library/4.1
#> [2] /usr/local/lib/R/site-library
#> [3] /usr/lib/R/site-library
#> [4] /usr/lib/R/library
#>
#> ──────────────────────────────────────────────────────────────────────────────Created on 2023-07-05 with reprex v2.0.2
Metadata
Metadata
Assignees
Labels
No labels