To retrieve your NSRR token, go to https://sleepdata.org/dashboard, and sign in. This token will allow you access to any data sets you have requested access to. If you do not have access, then it will allow you to download files that are publicly available.
Set the token by adding this to your ~/.Renviron
file:
The token is accessible via token = Sys.getenv("NSRR_TOKEN")
. Each nsrr
function also has the argument token
to pass through if you do not wish to set it.
To determine if you are authenticated, you can use:
Here is how you can access the NSRR datasets list:
Here we first get a list of the files in the datasets
sub-directory from the shhs
data set:
df = nsrr_dataset_files("shhs", path = "datasets")
head(df)
#> dataset full_path folder
#> 1 shhs datasets/archive datasets/
#> 2 shhs datasets/eeg-spectral-analysis datasets/
#> 3 shhs datasets/hrv-analysis datasets/
#> 4 shhs datasets/CHANGELOG.md datasets/
#> 5 shhs datasets/KNOWNISSUES.md datasets/
#> 6 shhs datasets/shhs1-dataset-0.13.0.csv datasets/
#> file_name is_file file_size
#> 1 archive FALSE 0
#> 2 eeg-spectral-analysis FALSE 0
#> 3 hrv-analysis FALSE 0
#> 4 CHANGELOG.md TRUE 10175
#> 5 KNOWNISSUES.md TRUE 11284
#> 6 shhs1-dataset-0.13.0.csv TRUE 24305606
#> file_checksum_md5 archived
#> 1 <NA> FALSE
#> 2 <NA> FALSE
#> 3 <NA> FALSE
#> 4 1432504de974e712e1cd7d99038bdfd5 FALSE
#> 5 c53ea822afa2e78ba601da508562775d FALSE
#> 6 212cf854c1e04ce6d75cb6580917e3a9 FALSE
We can then download the CHANGELOG.md
file as it’s publicly accessible.
url = nsrr_download_url("shhs", path = "datasets/CHANGELOG.md", token = "")
url # print URL
#> [1] "https://sleepdata.org/datasets/shhs/files/m/nsrr-r-v0-1-0/datasets/CHANGELOG.md"
dl = nsrr_download_file("shhs", path = "datasets/CHANGELOG.md", token = "")
dl$outfile
#> [1] "/var/folders/1s/wrtqcpxn685_zk570bnx9_rr0000gr/T//Rtmp9mJfGA/file5adf1d6c51c8.md"
cat(head(readLines(dl$outfile)), sep = "\n")
#> ## 0.13.1 (December 20, 2017)
#>
#> - Fix odd symbols in variable descriptions
#>
#> ## 0.13.0 (December 7, 2017)
To list all the files, recursively, you would run:
but it may take some time.