Možnosti exportu dat

Pro další zpracování je získaná data potřeba ze systému exportovat. Je to možné třemi způsoby. Hromadným exportem z více výzkumů, exportem z výzkumu do MS Excel a exportem z výzkumu do CSV.

Hromadný export z více výzkumů

Pokud existují na sebe navazující výzkumy, které mají společné otázky, je možné je exportovat hromadně do jednoho souboru. Tento export je náročný na výpočetní výkon a proto by měl být používán spíše vyjímečně.

Data jsou v tzv. wide formátu, tj. jeden řádek představuje jednoho respondenta a žadká otázka v dotazníku představuje jeden sloupec.

Otázky z jednotlivých dotazníků, které mají stejný název, budou zařazeny pod sebe. Jednotliví respondenti budou zařazeni do řádků pod sebou nejprve z prvního výzkumu, poto z následujících. Otázky, které se nevyskytují ve všech výzkumech budou vyplněné pouze u respondentů z výkumů kde jsou definovány, v ostatních budou prázdné.

Export do MS Excel z jednoho výzkumu

Data jsou opět exportována ve wide formátu, tj. jeden řádek představuje jednoho respondenta, každá otázka má svůj sloupec. Tento export je výpočetně náročný a při velkých objemech dat (řádově vyšší tisíce až desetitisíce respondentů a tisíce otázek) přestává být spolehlivý. Je to však nejjednodušší export a také nejintuitivnější.

Ukázka dat ve wide formátu:

code sex age education
aaa1 1 27 3
aaa2 0 44 2
aaa2 1 26 4

Export do CSV

CSV znamená Comma Separated Values, tj. hodnoty oddělené čárkou a jde o velmi jednoduchý formát. Výsledný soubor je možné otevřít například v poznámkovém bloku, nebo načíst do Excelu. Tento formát je také nejvhodnější pro zpracování dat v R.

Data jsou v tzv. long formátu. Jeden řádek představuje jednu odpověď na jednu otázku u jednoho respondenta. Každý respondent má potom ve výsledném souboru tisíce řádků, celý export může mít desítky nebo stovky tisíc řádků. I přesto je to nejefektivnější a nejspolehlivější formát k exportu dat.

Ukázka stejných dat v long formátu

code question_name value duration
aaa1 sex 1 30
aaa1 age 27 30
aaa1 education 3 30
aaa2 sex 0 15
aaa2 age 44 15
aaa2 education 2 15
aaa3 sex 1 15
aaa3 age 26 15
aaa3 education 4 15

Položky:

  • code - kód klienta
  • question_name - název otázky
  • value - hodnota odpovědi
  • duration - jak dlouho respondent strávil na stránce s touto otázkou. Pokud je více otázek na jedné stránce, tak trvání je společné.

Převod dat z long formátu do wide formátu v R:

library(tidyr)

panel_long <- read.csv("exportovana_data.csv", header = TRUE)
panel <- pivot_wider(panel_long, id_cols = code, names_from = question_name, values_from = value)

Funkce read.csv načítá hodnoty z csv souboru, funkce pivot_wider potom otočí data z formátu long do wide.

Speciální datové položky v exportu

  • code unikátní kód respondenta, automaticky vygenerovaný
  • questionnaire_started datum a čas zahájení vyplňování dotazníku
  • questionnaire_finished datum a čas ukončení dotazníku. Pokud je prázdné, tak dotazník nebyl dokončen
  • questionnaire_duration doba vyplňování dotazníku
  • broker - Broker (zprostředkovatel), přes kterého byl respondent získán
  • broker_assignement - přířazení projektu k Brokerovi
  • user_agent detailní identifikace prohlížeče uživatele. BLíže viz např: https://en.wikipedia.org/wiki/User_agent
  • device - odhad z user_agent, jestli byl dotazník vyplněn na počítači nebo na mobilním zařízení. Není spolehlivé, mobilní zařízení je možné nastavit tak, aby emulovalo stolní počítač.

Download tokens pro CSV Export

Import data z CSV je možné automatizovat pomocí download tokenů. Pokud chcete data stahovat přímo z vašeho R scriptu, tak díky systému přihlašování přes Google OAuth2 to není možné. Proto je možné u výzkumu vytvořit tzv. Download token. Pomocí tohoto tokenu je možné data stahovat automaticky i bez přihlášení v prohlížeči.

Formát pro download výsledku je: https://dotaznik.oushi.upol.cz/researches/{research_id}/csv, kde {research_id} nahraďte konkrétním ID daného výzkumu. Je uvedeno přímo v seznamu výzkumů na titulní stránce po přihlášení.

Pokud u výzkumu č. 1 chceme stáhnout data a máme token XXXXXXXXXXXXXXXXXXXXXXXXXXXXX, tak data lze stáhnout z příkazové řády pomocí utility curl (k dispozici zde: https://curl.se/ ):

  curl -i -X GET -H "Authorization:Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
                         'https://dotaznik.oushi.upol.cz/researches/1/csv'

A stejná operace v R:

  # Read the data from the server
   source <- url(
    paste("https://dotaznik.oushi.upol.cz/researches/1/csv"), 
     headers = c(Authorization="Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
   )
   data <- read.csv(source) 

Export dat pro jednoho respondenta

Do CSV je možné exportovat i reporty pro jednotlivé respondenty z výzkumu. URL pro dotaz potom vypadá následovně:

    https://dotaznik.oushi.upol.cz/researches/{research_id}/csv?respondent_code={respondent_code}

Autorizační token je stejný jako pro export celého dotazníku.

  • {research_id} - id celého výzkum (viz titulní stránka nebo přehled výzkumů)
  • {respondent_code} - kód daného respondenta (nikoliv jeho ID). Kód je v přehledu respondentů výzkumu a zároveň se respondentovi zobrazí i po vyplnění dotazníku.