The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

How to use opencis

Installation

You can install opencis from Github using the devtools package:

devtools::install_github("hmeleiro/opencis")

Usage

Searching for studies, questions and series

search_cis() searches the CIS catalogue and returns a tibble with matching results. The catalogo argument controls what type of item is searched: "estudio" (default), "pregunta" or "serie". You can restrict results to a date range with from and to, and change the sort order with sort ("relevance", "publishDate-", "publishDate+").

library(opencis)

# Search for survey studies
search_cis(q = "preelectoral", from = "2020-01-01", to = "2023-11-17")

# Search for survey questions
search_cis(q = "feminismo", catalogo = "pregunta")

# Search for data series
search_cis(q = "situación económica", catalogo = "serie")

By default search_cis() returns only the first page of results. Use search_all_cis() to automatically paginate through all pages and get every matching result in a single tibble:

# Retrieve all postelectoral studies (all pages)
all_studies <- search_all_cis(q = "postelectoral")
print(nrow(all_studies))

# Filter by date range across all pages
studies <- search_all_cis(
  q    = "ideologia",
  from = "2010-01-01",
  to   = "2020-12-31"
)

search_all_cis() accepts the same arguments as search_cis().


Reading study data into R

read_cis() downloads the SPSS data file for a study and imports it directly into R as a labelled data frame (via haven):

df <- read_cis(3411)
print(df)

Exploring variables: the data dictionary

After loading a study with read_cis(), use get_data_dictionary() to obtain a tidy tibble with every variable name, its label and its value labels:

df   <- read_cis(3328)
dict <- get_data_dictionary(df)
print(dict)

# Find variables whose label contains a keyword
dict[grepl("sexo", dict$label, ignore.case = TRUE), ]

# Inspect value labels for a specific variable
dict$value_labels[[which(dict$variable == "SEXO")]]

Getting study metadata

get_metadata() retrieves the technical information sheet of a study from the CIS website — field dates, study type, country, authorship, thematic indices, etc. — and returns it as a two-column tibble (field, value):

meta <- get_metadata(3328)
print(meta)

Downloading the ZIP file to disk

If you want to keep the raw data files instead of reading them into a temporary directory, use download_study(). It saves the ZIP archive to any local folder:

# Save to the current working directory
path <- download_study(3328)
cat("Saved to:", path, "\n")

# Save to a specific folder
path <- download_study(3328, destdir = "data/raw")
cat("Saved to:", path, "\n")

Browsing the questionnaire and technical sheet

browse_pdf() extracts the PDF documents bundled inside the study ZIP and opens them in your default browser. CIS ZIPs typically include two PDFs:

# Open the questionnaire for study 3328
browse_pdf(3328)

# Open the technical sheet
browse_pdf(3328, wanted_file = "ft")

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.