Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (19.2%) to scientific vocabulary
Last synced: 10 months ago
·
JSON representation
Repository
🗝 R interface to datasets on opendata.scot
Basic Info
- Host: GitHub
- Owner: fozy81
- License: other
- Language: R
- Default Branch: master
- Homepage: https://fozy81.github.io/opendatascot/
- Size: 20.9 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 3
- Releases: 0
Created almost 4 years ago
· Last pushed 10 months ago
Metadata Files
Readme
License
Code of conduct
Codemeta
README.Rmd
---
output: github_document
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# opendatascotland
[](https://github.com/fozy81/opendatascot/actions/workflows/R-CMD-check.yaml)
[](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[](https://app.codecov.io/gh/fozy81/opendatascot?branch=master)
`opendatascotland` is an [R](https://www.r-project.org/) package to download and
locally cache data from the amazing [opendata.scot](https://opendata.scot/)
website. This helps to quickly start data analysis by providing a simple way to
save, organise and import data in R.
## Installation
You can install the development version of `opendatascotland` from
[GitHub](https://github.com/) with:
``` r
# install.packages("devtools")
devtools::install_github("fozy81/opendatascot")
```
## Search
Search all available datasets by using the `ods_search()` function. Additionally, use the `search` argument to query datasets by title.
```{r search, warning=FALSE}
library(opendatascotland)
# View all available datasets and associated metadata
all_datasets <- ods_search()
# Search dataset titles containing matching terms (case insensitive)
single_query <- ods_search("Number of bikes")
# Search multiple terms
multi_query <- ods_search(c("Bins", "Number of bikes"))
head(multi_query, 3)
```
Note, search term is case-insensitive but word order must be correct (there is
no 'fuzzy' matching).
## Download
Currently, only datasets available in `.csv`, `.json` or `.geojson` can be
downloaded. These formats cover the majority of data available. You will be
warned if data can't be downloaded.
To download data, you can either download the metadata using `ods_search()`,
then pass that data frame to `ods_get()`
```{r, echo=FALSE, message=FALSE, warning=FALSE}
query <- ods_search("Salt Bins")
data <- ods_get(query, ask = FALSE, refresh = TRUE)
```
```r
query <- ods_search("Public Litter Bins")
data <- ods_get(query)
```
Or use the search argument in `ods_get(search = "my search term")` to search and
download matching datasets in one step.
```{r, echo=FALSE, message=FALSE, warning=FALSE}
data <- ods_get(search = "Salt Bins", ask = FALSE, refresh = TRUE)
```
```r
data <- ods_get(search = "Salt Bins")
```
By default, you will be asked if you want to save the data locally on the first
download. Optionally, you can refresh the data or avoid being asked to save
data.
```r
data <- ods_get(search = "Number of bikes", refresh = TRUE, ask = FALSE)
```
```{r, echo=FALSE, message=FALSE, warning=FALSE}
data <- ods_get(
search = c(
"Salt Bins",
"Recycling Points"
),
ask = FALSE,
refresh = TRUE
)
```
The `ods_get()` function returns a named list of data frames
```r
data <- ods_get(search = c("Salt Bins", "Recycling Points"))
names(data)
[1] "Glass_and_textiles_recycling_points_Aberdeenshire_Council"
[2] "Recycling_Points_Aberdeen_City_Council"
[3] "Recycling_Points_Moray_Council"
[4] "Salt_Bins_Dumfries_and_Galloway_Council"
```
Select the dataset by name.
```{r}
recycling_points <- data$Recycling_Points_Aberdeen_City_Council
```
Or alternatively select data frame in the list by position number.
```{r}
recycling_points <- data[[2]]
```
Geojson datasets are automating converted to [simple
feature](https://r-spatial.github.io/sf/) 'sf' data. This helps make geospatial
data easier to handle in R. As we can see in this example the data frame is
classed as "sf" which means spatial / geometry coordinates are held in a
`geometry` column.
```{r}
class(recycling_points)
```
This allows the `plot()` function to automatically plot the coordinates in the
geometry column.
```{r, fig.width=4}
plot(recycling_points[, "TEXTILE_YN"])
```
Owner
- Name: Tim
- Login: fozy81
- Kind: user
- Repositories: 64
- Profile: https://github.com/fozy81
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "opendatascotland",
"description": "R library wrapper for datasets compiled on opendata.scot website.",
"name": "opendatascotland: Download data from OpenData.Scot",
"codeRepository": "https://github.com/fozy81/opendatascot",
"license": "https://spdx.org/licenses/MIT",
"version": "0.2.0",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "R",
"url": "https://r-project.org"
},
"runtimePlatform": "R version 4.3.1 (2023-06-16)",
"author": [
{
"@type": "Person",
"givenName": "Tim",
"familyName": "Foster",
"email": "fozy81@hotmail.com"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Tim",
"familyName": "Foster",
"email": "fozy81@hotmail.com"
}
],
"softwareSuggestions": [
{
"@type": "SoftwareApplication",
"identifier": "av",
"name": "av",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=av"
},
{
"@type": "SoftwareApplication",
"identifier": "covr",
"name": "covr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=covr"
},
{
"@type": "SoftwareApplication",
"identifier": "data.table",
"name": "data.table",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=data.table"
},
{
"@type": "SoftwareApplication",
"identifier": "gganimate",
"name": "gganimate",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=gganimate"
},
{
"@type": "SoftwareApplication",
"identifier": "ggmap",
"name": "ggmap",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggmap"
},
{
"@type": "SoftwareApplication",
"identifier": "ggplot2",
"name": "ggplot2",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=ggplot2"
},
{
"@type": "SoftwareApplication",
"identifier": "hexSticker",
"name": "hexSticker",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=hexSticker"
},
{
"@type": "SoftwareApplication",
"identifier": "hms",
"name": "hms",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=hms"
},
{
"@type": "SoftwareApplication",
"identifier": "lubridate",
"name": "lubridate",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=lubridate"
},
{
"@type": "SoftwareApplication",
"identifier": "knitr",
"name": "knitr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=knitr"
},
{
"@type": "SoftwareApplication",
"identifier": "magrittr",
"name": "magrittr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=magrittr"
},
{
"@type": "SoftwareApplication",
"identifier": "pkgdown",
"name": "pkgdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=pkgdown"
},
{
"@type": "SoftwareApplication",
"identifier": "rmarkdown",
"name": "rmarkdown",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rmarkdown"
},
{
"@type": "SoftwareApplication",
"identifier": "scales",
"name": "scales",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=scales"
},
{
"@type": "SoftwareApplication",
"identifier": "sfheaders",
"name": "sfheaders",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=sfheaders"
},
{
"@type": "SoftwareApplication",
"identifier": "testthat",
"name": "testthat",
"version": ">= 3.0.0",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=testthat"
},
{
"@type": "SoftwareApplication",
"identifier": "tidyverse",
"name": "tidyverse",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tidyverse"
},
{
"@type": "SoftwareApplication",
"identifier": "transformr",
"name": "transformr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=transformr"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "dplyr",
"name": "dplyr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=dplyr"
},
"2": {
"@type": "SoftwareApplication",
"identifier": "gtools",
"name": "gtools",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=gtools"
},
"3": {
"@type": "SoftwareApplication",
"identifier": "jsonlite",
"name": "jsonlite",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=jsonlite"
},
"4": {
"@type": "SoftwareApplication",
"identifier": "purrr",
"name": "purrr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=purrr"
},
"5": {
"@type": "SoftwareApplication",
"identifier": "rappdirs",
"name": "rappdirs",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rappdirs"
},
"6": {
"@type": "SoftwareApplication",
"identifier": "readr",
"name": "readr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=readr"
},
"7": {
"@type": "SoftwareApplication",
"identifier": "rlang",
"name": "rlang",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=rlang"
},
"8": {
"@type": "SoftwareApplication",
"identifier": "sf",
"name": "sf",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=sf"
},
"9": {
"@type": "SoftwareApplication",
"identifier": "tibble",
"name": "tibble",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tibble"
},
"10": {
"@type": "SoftwareApplication",
"identifier": "tidyr",
"name": "tidyr",
"provider": {
"@id": "https://cran.r-project.org",
"@type": "Organization",
"name": "Comprehensive R Archive Network (CRAN)",
"url": "https://cran.r-project.org"
},
"sameAs": "https://CRAN.R-project.org/package=tidyr"
},
"SystemRequirements": null
},
"fileSize": "613223.996KB",
"relatedLink": "https://fozy81.github.io/opendatascot/",
"readme": "https://github.com/fozy81/opendatascot/blob/master/README.md",
"contIntegration": [
"https://github.com/fozy81/opendatascot/actions/workflows/R-CMD-check.yaml",
"https://app.codecov.io/gh/fozy81/opendatascot?branch=master"
],
"developmentStatus": "https://lifecycle.r-lib.org/articles/stages.html#experimental"
}
GitHub Events
Total
- Push event: 9
Last Year
- Push event: 9
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| fozy81 | f****1@h****m | 81 |
| pre-commit-ci[bot] | 6****] | 1 |
Issues and Pull Requests
Last synced: over 1 year ago
All Time
- Total issues: 4
- Total pull requests: 6
- Average time to close issues: N/A
- Average time to close pull requests: 2 months
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 4
Past Year
- Issues: 0
- Pull requests: 2
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- fozy81 (1)
Pull Request Authors
- pre-commit-ci[bot] (2)
- fozy81 (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
DESCRIPTION
cran
- dplyr * imports
- gtools * imports
- jsonlite * imports
- purrr * imports
- rappdirs * imports
- readr * imports
- rlang * imports
- sf * imports
- tibble * imports
- tidyr * imports
- covr * suggests
- ggmap * suggests
- ggplot2 * suggests
- hexSticker * suggests
- knitr * suggests
- magrittr * suggests
- pkgdown * suggests
- rmarkdown * suggests
- testthat >= 3.0.0 suggests
.github/workflows/R-CMD-check.yaml
actions
- actions/checkout v2 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pkgdown.yaml
actions
- JamesIves/github-pages-deploy-action 4.1.4 composite
- actions/checkout v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/pr-commands.yaml
actions
- actions/checkout v2 composite
- r-lib/actions/pr-fetch v2 composite
- r-lib/actions/pr-push v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml
actions
- actions/checkout v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite