qualtdict

Generate variable dictionaries from Qualtrics surveys and download labelled survey data

https://github.com/lyh970817/qualtdict

Science Score: 36.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
    Links to: wiley.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (19.4%) to scientific vocabulary

Keywords

qualtrics qualtrics-api qualtrics-survey r r-package rstats
Last synced: 6 months ago · JSON representation

Repository

Generate variable dictionaries from Qualtrics surveys and download labelled survey data

Basic Info
  • Host: GitHub
  • Owner: lyh970817
  • License: other
  • Language: R
  • Default Branch: master
  • Homepage:
  • Size: 284 KB
Statistics
  • Stars: 1
  • Watchers: 3
  • Forks: 1
  • Open Issues: 8
  • Releases: 0
Topics
qualtrics qualtrics-api qualtrics-survey r r-package rstats
Created over 5 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Codemeta

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# qualtdict

**License:** [MIT](https://opensource.org/licenses/MIT)


[![Project Status: Active – The project has reached a stable, usable state and is being actively developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/#active)
[![check-standard](https://github.com/lyh970817/qualtdict/actions/workflows/check-standard.yaml/badge.svg)](https://github.com/lyh970817/qualtdict/actions/workflows/check-standard.yaml)
[![test-coverage](https://github.com/lyh970817/qualtdict/actions/workflows/test-coverage.yaml/badge.svg)](https://github.com/lyh970817/qualtdict/actions/workflows/test-coverage.yaml)
[![Codecov test coverage](https://codecov.io/gh/lyh970817/qualtdict/branch/master/graph/badge.svg)](https://app.codecov.io/gh/lyh970817/qualtdict?branch=master)


[Qualtrics](https://www.qualtrics.com/) is an online survey and data
collection software platform. The qualtdict R package builds on the
[qualtRics](https://github.com/ropensci/qualtRics) R package which
implements the retrieval of survey data using the Qualtrics API and aims to
reduce the pre-processing steps needed in analyzing such surveys. The
current package makes more comprehensive use of the survey metadata and
generates a variable dictionary including most of the information essential
for data processing and analysis. It also uses a modified version of the
RAKE algorithm by 
[Rose. et al.](https://media.wiley.com/product_data/excerpt/22/04707498/0470749822.pdf) implemented in the package
[slowraker](https://github.com/cran/slowraker) to generate meaningful names
for all variables in the survey, as well as adding a comprehensive set of
metadata attributes that uniquely identifies each variable.

## Installation

This package can be installed with the
[remotes](https://cran.r-project.org/package=remotes) package.

```{r eval=FALSE}
install.packages("remotes")
remotes::install_github("lyh970817/qultdict")
```

## Example

You need to first register your Qualtrics credentials with the function
`qualtrics_api_credentials` exported from the package 
[qualtRics](https://www.qualtrics.com/).


```{r, eval=FALSE}
library(qualtdict)

qualtrics_api_credentials(
  api_key = "",
  base_url = "",
  install = TRUE
)
```

You can then generate a variable dictionary.

```{r, eval=FALSE}
mydict <- dict_generate("SV_4YyAHbAxpdbzacl", var_name = "question_name")
```

You may wish to generate meaningful variable names (if you don't already
have them in the survey) in the dictionary. If doing so, preferably you
would also want to define a function that extracts block prefixes from 
block names.

```{r, eval=FALSE}
# Define a block prefix extraction function
block_pattern <- function(x) {
  substring(x, 1, 3)
}

mydict <- dict_generate("SV_4YyAHbAxpdbzacl",
  var_name = "easy_name",
  block_pattern = block_pattern,
  block_sep = "."
)
```

You might want to check for potential mistakes in the survey with
`dict_validate`.

```{r, eval=FALSE}
dict_validate(mydict)
```

And use the dictionary to download
[sjlabelled](https://github.com/strengejacke/sjlabelled) survey data.

```{r, eval=FALSE}
survey_dat <- get_survey_data(mydict,
  unanswer_recode = -77,
  unanswer_recode_multi = 0
)
```

Owner

  • Name: lyh970817
  • Login: lyh970817
  • Kind: user
  • Location: London, UK
  • Company: King's College London & the University of Hong Kong

Joint PhD student at King's College London and the University of Hong Kong

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "qualtdict",
  "description": "Provides functions that generate variable dictionaries from 'Qualtrics' <https://www.qualtrics.com/about/> surveys and labelled survey data based on the dictionary. This package is built upon the R package 'qualtRics' <https://github.com/ropensci/qualtRics/> which provides access to 'Qualtrics' survey data and metadata via the 'Qualtrics' API <https://api.qualtrics.com/>.",
  "name": "qualtdict: Generating Variable Dictionaries and Labelled Data Exports of\n    Qualtrics Surveys",
  "codeRepository": "https://github.com/lyh970817/qualtdict",
  "issueTracker": "https://github.com/lyh970817/qualtdict/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.0.0.9000",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.2.2 (2022-10-31)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Yuhao",
      "familyName": "Lin",
      "email": "yuhao.lin@kcl.ac.uk",
      "@id": "https://orcid.org/0000-0001-6357-5731"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Yuhao",
      "familyName": "Lin",
      "email": "yuhao.lin@kcl.ac.uk",
      "@id": "https://orcid.org/0000-0001-6357-5731"
    }
  ],
  "softwareSuggestions": [
    {
      "@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": "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": "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": "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": "vcr",
      "name": "vcr",
      "version": ">= 0.6.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=vcr"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "crul",
      "name": "crul",
      "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=crul"
    },
    "2": {
      "@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"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "glue",
      "name": "glue",
      "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=glue"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "haven",
      "name": "haven",
      "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=haven"
    },
    "5": {
      "@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"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "openNLP",
      "name": "openNLP",
      "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=openNLP"
    },
    "7": {
      "@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"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "qualtRics",
      "name": "qualtRics",
      "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=qualtRics"
    },
    "9": {
      "@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"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "sjlabelled",
      "name": "sjlabelled",
      "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=sjlabelled"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "slowraker",
      "name": "slowraker",
      "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=slowraker"
    },
    "12": {
      "@type": "SoftwareApplication",
      "identifier": "SnowballC",
      "name": "SnowballC",
      "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=SnowballC"
    },
    "13": {
      "@type": "SoftwareApplication",
      "identifier": "stringi",
      "name": "stringi",
      "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=stringi"
    },
    "14": {
      "@type": "SoftwareApplication",
      "identifier": "stringr",
      "name": "stringr",
      "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=stringr"
    },
    "15": {
      "@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"
    },
    "16": {
      "@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"
    },
    "17": {
      "@type": "SoftwareApplication",
      "identifier": "xml2",
      "name": "xml2",
      "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=xml2"
    },
    "SystemRequirements": null
  },
  "fileSize": "724.642KB",
  "readme": "https://github.com/lyh970817/qualtdict/blob/master/README.md",
  "contIntegration": [
    "https://github.com/lyh970817/qualtdict/actions/workflows/check-standard.yaml",
    "https://github.com/lyh970817/qualtdict/actions/workflows/test-coverage.yaml",
    "https://app.codecov.io/gh/lyh970817/qualtdict?branch=master"
  ],
  "developmentStatus": "https://www.repostatus.org/#active",
  "keywords": [
    "r",
    "r-package",
    "rstats",
    "qualtrics",
    "qualtrics-api",
    "qualtrics-survey"
  ]
}

GitHub Events

Total
  • Push event: 6
Last Year
  • Push event: 6

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 9
  • Total pull requests: 0
  • Average time to close issues: 5 months
  • Average time to close pull requests: N/A
  • Total issue authors: 5
  • Total pull request authors: 0
  • Average comments per issue: 0.22
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • 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
  • lyh970817 (5)
  • thomaspara (1)
  • scoultersdcoe (1)
  • johanzvrskovec (1)
  • topherhuebel (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/check-standard.yaml actions
  • actions/checkout v3 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/test-coverage.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • SnowballC * imports
  • crul * imports
  • dplyr * imports
  • glue * imports
  • haven * imports
  • magrittr * imports
  • openNLP * imports
  • purrr * imports
  • qualtRics * imports
  • rlang * imports
  • sjlabelled * imports
  • slowraker * imports
  • stringi * imports
  • stringr * imports
  • tibble * imports
  • tidyr * imports
  • xml2 * imports
  • covr * suggests
  • knitr * suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests
  • vcr >= 0.6.0 suggests