Spaces:
Running
Running
library(reactablefmtr) | |
# import specific functions from relevant libraries | |
box::use(reactable[reactable, colDef]) | |
box::use(dplyr[filter]) | |
#* @param df the data frame containing the data | |
#* @param vernacular the vernacular names of the animals | |
#* @param locality regions in Poland | |
tableFunction <- function(df, vernacular) { | |
# set default values if arguments are NULL or empty | |
if (is.null(vernacular) || vernacular == "") { | |
vernacular <- "Mandarin Duck" | |
} else { | |
vernacular | |
} | |
# filter the data based on vernacular and locality | |
filtered_df <- df |> | |
filter(vernacularName == vernacular) | |
# ensure there is data to display | |
if (nrow(filtered_df) == 0) { | |
reactable(data.frame( | |
Message = "No data available for the selected filters" | |
)) | |
} | |
# return table | |
reactable( | |
filtered_df, | |
filterable = TRUE, | |
searchable = TRUE, | |
striped = TRUE, | |
highlight = TRUE, | |
bordered = TRUE, | |
compact = TRUE, | |
defaultPageSize = 10, | |
columns = list( | |
vernacularName = colDef(name = "Common Name"), | |
longitudeDecimal = colDef(name = "Longitude"), | |
latitudeDecimal = colDef(name = "Latitude"), | |
individualCount = colDef(name = "Count"), | |
eventDate = colDef(name = "Date"), | |
locality = colDef(name = "Location") | |
), | |
theme = reactableTheme( | |
highlightColor = "#627cfc", | |
borderColor = "#1239fe", | |
borderWidth = 2 | |
) | |
) | |
} | |