knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%", eval = FALSE )
The goal of slfhelper is to provide some easy-to-use functions that make working with the Source Linkage Files as painless and efficient as possible. It is only intended for use by PHS employees and will only work on the PHS R infrastructure.
The simplest way to install to the PHS Posit Workbench environment is to use the PHS Package Manager, this will be the default setting and means you can install slfhelper
as you would any other package.
``` {r package_install_ppm} install.packages("slfhelper")
If this doesn't work you can install it directly from GitHub, there are a number of ways to do this, we recommend the [{`pak`} package](https://pak.r-lib.org/). ```r # Install pak (if needed) install.packages("pak") # Use pak to install slfhelper pak::pak("Public-Health-Scotland/slfhelper")
Note: Reading a full file is quite slow and will use a lot of memory, we would always recommend doing a column selection to only keep the variables that you need for your analysis. Just doing this will dramatically speed up the read time.
We provide some data snippets to help with column selection and filtering.
library(slfhelper) # Get a list of the variables in a file ep_file_vars indiv_file_vars # See a lookup of Partnership names to HSCP_2018 codes View(partnerships) # See a list with descriptions for the recids View(recids)
library(slfhelper) # Read certain variables # It's much faster to choose variables like this indiv_1718 <- read_slf_individual(year = "1718", col_select = c("anon_chi", "hri_scot")) # Read multiple years # This will use dplyr::bind_rows() and return the files added together as a single tibble episode_data <- read_slf_episode( year = c("1516", "1617", "1718", "1819"), col_select = c("anon_chi", "yearstay") ) # Read only data for a certain partnership (HSCP_2018 code) # This can be a single partnership or multiple by supplying a vector e.g. c(...) indiv_1718 <- read_slf_individual( year = "1718", partnerships = "S37000001", # Aberdeen City col_select = c("anon_chi", "hri_scot") ) # Read only data for a certain recid # This can be a single recid or multiple by supplying a vector e.g. c(...) ep_1718 <- read_slf_episode("1718", recid = c("01B", "GLS"), col_select = c("anon_chi", "yearstay"))
The above options for reading files can (and should) be combined if required.
library(slfhelper) # Add real CHI numbers to a SLF ep_1718 <- read_slf_episode(c("1718", "1819", "1920"), col_select = c("year", "anon_chi", "demographic_cohort") ) %>% get_chi() # Change chi numbers from the data above back to anon_chi ep_1718_anon <- ep_1718 %>% get_anon_chi(chi_var = "chi") # Add anon_chi to the cohort sample chi_cohort <- chi_cohort %>% get_anon_chi(chi_var = "upi_number")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.