Skip to content

Some species lists don't filter a query correctly #274

@daxkellie

Description

@daxkellie

We can use species_list_uid in galah_filter() to return only information for species and subspecies on a specific list. For example, here we can filter to species on the EPBC list.

library(galah)

# Filter to species on EPBC list
galah_call() |>
  filter(species_list_uid == "dr656") |>
  atlas_counts()
#> # A tibble: 1 × 1
#>     count
#>     <int>
#> 1 3525524

However, it doesn't seem to work for all lists. This list is a user list of all tree species and can be found on galah. Yet when used in filter() returns no results.

# List exists on ALA
search_all(lists, "dr31947") |>
  show_values()
#>  • Showing values for 'dr31947'.
#> # A tibble: 3,597 × 6
#>         id name                  scientificName lsid  dataResourceUid commonName
#>      <int> <chr>                 <chr>          <chr> <chr>           <chr>     
#>  1 6819806 Abroma molle          Abroma molle   http… dr31947         <NA>      
#>  2 6819807 Abrophyllum ornans    Abrophyllum o… http… dr31947         Native Hy…
#>  3 6819808 Acacia acuminata      Acacia acumin… http… dr31947         Raspberry…
#>  4 6819809 Acacia ammobia        Acacia ammobia http… dr31947         Mt Conner…
#>  5 6819810 Acacia ammophila      Acacia ammoph… http… dr31947         <NA>      
#>  6 6819811 Acacia anastema       Acacia anaste… http… dr31947         <NA>      
#>  7 6819812 Acacia anaticeps      Acacia anatic… http… dr31947         Duck-head…
#>  8 6819813 Acacia aneura         Acacia aneura  http… dr31947         Broad-lea…
#>  9 6819814 Acacia aneura var. a… Acacia aneura… http… dr31947         Mulga     
#> 10 6819815 Acacia aneura var. m… Acacia aneura… http… dr31947         <NA>      
#> # ℹ 3,587 more rows

# Returns nothing
galah_call() |>
  filter(species_list_uid == "dr31947") |>
  atlas_counts()
#> # A tibble: 1 × 1
#>   count
#>   <int>
#> 1     0

Created on 2025-07-11 with reprex v2.1.1

Do lists have to be authoritative to work with filter()? Is this list structured differently so that filter() isn't matching results correctly?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions