occupationMeasurement

occupationMeasurement: A Comprehensive Toolbox for Interactive Occupation Coding in Surveys - Published in JOSS (2023)

https://github.com/occupationmeasurement/occupationmeasurement

Science Score: 93.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
    Found 6 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Sociology Social Sciences - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

A package to help with the (interactive) coding and measurement of occupations

Basic Info
Statistics
  • Stars: 5
  • Watchers: 3
  • Forks: 0
  • Open Issues: 1
  • Releases: 4
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License

README.md

occupationMeasurement

DOI R-CMD-check CRAN status <!-- badges: end -->

A toolbox to help you with all tasks around the coding and measurement of occupations.

[online demo[^1]]

[^1]: Demo for questionnaire_demo() running on shinyapps.io. Alternative demos for questionnaire_web_survey() [demo] and questionnaire_interviewer_administered() [demo] are also available. Demos may be unavailable due to bandwidth restrictions.

About

Coding people's occupations into official classifications such as the International Standard Classification of Occupations ISCO-08 or German KldB-2010 is a notoriously difficult problem. This toolbox is designed to make this easier, by helping with many of the tasks surrounding the measurement of occupations: From creating a survey and collecting data all the way to retrieving the final coded responses.

For a detailed overview of the package refer to vignette("occupationMeasurement") or take a look at browseVignettes("occupationMeasurement") to see a list of vignettes describing the package. All vignettes are also available in the online documentation.

Please cite our publication when using the software:

Jan Simson, Olga Kononykhina, and Malte Schierholz (2023). occupationMeasurement: A Comprehensive Toolbox for Interactive Occupation Coding in Surveys. Journal of Open Source Software, 8(88), 5505, https://doi.org/10.21105/joss.05505

Screenshots illustrating the flow within the interactive application.

Installation

Prerequisites:

The package can be installed directly from CRAN by running the code below:

r install.packages("occupationMeasurement")

To install the latest development version from GitHub, run you will need the R package remotes available via install.packages("remotes").

The package can then be installed by running the code below:

r remotes::install_github("occupationMeasurement/occupationMeasurement")

Usage

Using the interactive App

The interactive app is the easiest way to use the package: It provides a fully-featured, interactive survey application to collect and immediately code occupational data. Starting it is as easy as calling the app()-function.

More information about the interactive app can be found in vignette("app") and the help page ?app.

```r

Run the interactive shiny app

occupationMeasurement::app() ```

The app also supports custom questionnaires, so you can build your own or use and adapt one of the questionnaires included in the package. E.g., the questionnaire_demo() will explain the functionality of the app, and questionnaire_interviewer_administered() is designed to be read by interviewers in CATI and CAPI surveys. The questionnaire_web_survey() is intended to be used for internet surveys.

```r library(occupationMeasurement)

Run the app with additional explanations. The best way to get started.

app(questionnaire = questionnaire_demo())

Run the app in interviewer-administered ...

app(questionnaire = questionnaireintervieweradministered())

or online surveys

app(questionnaire = questionnairewebsurvey()) ```

Alternative Usage

Besides the interactive app, there are also two alternative ways of using this package, with varying degrees of flexibility and convenience:

  1. Use the included JSON api() to use the package with your own survey-tool or application for maximum flexibility.
  2. Use the R functions directly to implement your own custom functionality or package via e.g. get_job_suggestions().

You can find more information on how to use these functionalities in vignette("occupationMeasurement").

Getting Help & Contributing

If you encounter any issues / bugs in the package, feel free to file an issue on GitHub, ideally alongside a clear reproducible example or description.

We also welcome contributions to the package. If you want to contribute to the development of the package, we recommend to first open an issue to discuss your ideas and plans, before working on a pull request.

If you have any questions about the package or plan to use it in a project, feel free to reach out to one of the maintainers via email. The list of maintainers and their email addresses is in the DESCRIPTION file.

Package Development

This section is only relevant when further developing the package itself.

By default the package will only install dependencies it absolutely needs to run. For developing the package or running tests, the following packages can be installed via the snippet below.

```r

Install development dependencies

install.packages(c( "devtools", "testthat", "shinytest2", "httr", "withr", "callr", "usethis", "mvtnorm", "readxl", "styler", "knitr", "rmarkdown", "DiagrammeR", "sessioninfo" )) ```

Testing

The included tests can be run with the following snippet.

r devtools::test()

It is recommended to also run a more detailed check via the following snippet.

r devtools::check()

Formatting

After making changes to the code, it is advised to automatically format all code with the {styler} package. This can be done with the following snippet.

r styler::style_pkg()

Documentation

The documentation website is powered by {pkgdown}. It can be rebuilt with the following snippet.

r pkgdown::build_site()

To set up everything for hosting the documentation on github pages use usethis::use_pkgdown_github_pages().

During development, roxygen2::roxygenise() is useful to update .Rd-files.

Acknowledgments

This project is funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) – Project numbers 290773872 and 460037581.

Owner

  • Name: occupationMeasurement
  • Login: occupationMeasurement
  • Kind: organization

JOSS Publication

occupationMeasurement: A Comprehensive Toolbox for Interactive Occupation Coding in Surveys
Published
August 24, 2023
Volume 8, Issue 88, Page 5505
Authors
Jan Simson ORCID
Department of Statistics, Ludwig-Maximilians-Universität München, Germany
Olga Kononykhina
Department of Statistics, Ludwig-Maximilians-Universität München, Germany
Malte Schierholz ORCID
Department of Statistics, Ludwig-Maximilians-Universität München, Germany
Editor
Chris Vernon ORCID
Tags
occupation coding machine learning classification KldB ISCO

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 295
  • Total Committers: 2
  • Avg Commits per committer: 147.5
  • Development Distribution Score (DDS): 0.176
Past Year
  • Commits: 5
  • Committers: 1
  • Avg Commits per committer: 5.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Jan Simson g****t@s****o 243
Malte Schierholz m****z@g****m 52
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 5
  • Total pull requests: 3
  • Average time to close issues: 29 days
  • Average time to close pull requests: 18 days
  • Total issue authors: 4
  • Total pull request authors: 2
  • Average comments per issue: 2.6
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jansim (2)
  • danielruss (1)
  • lorenzwalthert (1)
  • welch16 (1)
Pull Request Authors
  • jansim (2)
  • malsch (1)
Top Labels
Issue Labels
Pull Request Labels
on-hold (1)

Packages

  • Total packages: 1
  • Total downloads:
    • cran 264 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 3
  • Total maintainers: 1
cran.r-project.org: occupationMeasurement

Interactively Measure Occupations in Interviews and Beyond

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 264 Last month
Rankings
Forks count: 28.8%
Dependent packages count: 29.8%
Stargazers count: 31.7%
Dependent repos count: 35.5%
Average: 43.1%
Downloads: 89.5%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package 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/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • R >= 4.1 depends
  • data.table >= 1.14.2 imports
  • digest * imports
  • shiny >= 1.7.1 imports
  • stringdist >= 0.9.8 imports
  • stringr >= 1.4.0 imports
  • text2vec >= 0.6.1 imports
  • tm >= 0.7.8 imports
  • DiagrammeR * suggests
  • callr * suggests
  • devtools * suggests
  • httr * suggests
  • knitr * suggests
  • mvtnorm * suggests
  • plumber * suggests
  • readxl * suggests
  • rmarkdown * suggests
  • sessioninfo * suggests
  • shinytest2 * suggests
  • styler * suggests
  • testthat * suggests
  • usethis * suggests
  • withr * suggests
docker/api/Dockerfile docker
  • rstudio/plumber v1.2.0 build
docker/app/Dockerfile docker
  • rocker/shiny 4.2.1 build
docker/docker-compose.yml docker
  • occupationmeasurement/api latest
  • occupationmeasurement/app latest
.github/workflows/build-docker.yml actions
  • actions/checkout v4 composite
  • docker/build-push-action v6 composite
  • docker/login-action v3 composite
  • docker/metadata-action v5 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite