Tohle je mnohostránkové zobrazení této sekce. Klikněte sem pro tisk.

Zpět na běžné zobrazení stránky.

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.

1 - Export dat z obličejových otazníků

Otázky s obličeji zaznamenávají vybranou emoci/obličej.

Pro každou jednotlivou emoci se dále počátají a exportují tyto parametry:

  • hover_count - kolikrát na emoci (obličej najel respondent myší)
  • hover_duration - jak dlouho byla emoce zvětšena při najetí myši v milisekundách
  • display_count - kolikrát byla zvětšena kliknutím
  • display_duration - jak dlouho celkově byla zvětšena
  • hover_and_display_count - součet hover and display count

Pro každou jednotlivkou otázku se dále zobrazí finálně vybraná emoce.

Takže pro jednu otázku se exportují výše uvedené sloupce pro všechny emoce. Například tedy pro otázku EBA_SPT_NR1 (Smysl života) se vygenerují tyto sloupce:

  1. anger_EBA_SPT_NR1_selected
  2. anger_EBA_SPT_NR1_selected_per
  3. anger_EBA_SPT_NR1_hover_count
  4. anger_EBA_SPT_NR1_hover_count_per
  5. anger_EBA_SPT_NR1_hover_duration
  6. anger_EBA_SPT_NR1_hover_duration_per
  7. anger_EBA_SPT_NR1_display_count
  8. anger_EBA_SPT_NR1_display_count_per
  9. anger_EBA_SPT_NR1_display_duration
  10. anger_EBA_SPT_NR1_display_duration_per
  11. anger_EBA_SPT_NR1_hover_and_display_count
  12. anger_EBA_SPT_NR1_hover_and_display_count_per
  13. disgust_EBA_SPT_NR1_selected
  14. disgust_EBA_SPT_NR1_selected_per
  15. disgust_EBA_SPT_NR1_hover_count
  16. disgust_EBA_SPT_NR1_hover_count_per
  17. disgust_EBA_SPT_NR1_hover_duration
  18. disgust_EBA_SPT_NR1_hover_duration_per
  19. disgust_EBA_SPT_NR1_display_count
  20. disgust_EBA_SPT_NR1_display_count_per
  21. disgust_EBA_SPT_NR1_display_duration
  22. disgust_EBA_SPT_NR1_display_duration_per
  23. disgust_EBA_SPT_NR1_hover_and_display_count
  24. disgust_EBA_SPT_NR1_hover_and_display_count_per
  25. fear_EBA_SPT_NR1_selected
  26. fear_EBA_SPT_NR1_selected_per
  27. fear_EBA_SPT_NR1_hover_count
  28. fear_EBA_SPT_NR1_hover_count_per
  29. fear_EBA_SPT_NR1_hover_duration
  30. fear_EBA_SPT_NR1_hover_duration_per
  31. fear_EBA_SPT_NR1_display_count
  32. fear_EBA_SPT_NR1_display_count_per
  33. fear_EBA_SPT_NR1_display_duration
  34. fear_EBA_SPT_NR1_display_duration_per
  35. fear_EBA_SPT_NR1_hover_and_display_count
  36. fear_EBA_SPT_NR1_hover_and_display_count_per
  37. joy_EBA_SPT_NR1_selected
  38. joy_EBA_SPT_NR1_selected_per
  39. joy_EBA_SPT_NR1_hover_count
  40. joy_EBA_SPT_NR1_hover_count_per
  41. joy_EBA_SPT_NR1_hover_duration
  42. joy_EBA_SPT_NR1_hover_duration_per
  43. joy_EBA_SPT_NR1_display_count
  44. joy_EBA_SPT_NR1_display_count_per
  45. joy_EBA_SPT_NR1_display_duration
  46. joy_EBA_SPT_NR1_display_duration_per
  47. joy_EBA_SPT_NR1_hover_and_display_count
  48. joy_EBA_SPT_NR1_hover_and_display_count_per
  49. neutral_EBA_SPT_NR1_selected
  50. neutral_EBA_SPT_NR1_selected_per
  51. neutral_EBA_SPT_NR1_hover_count
  52. neutral_EBA_SPT_NR1_hover_count_per
  53. neutral_EBA_SPT_NR1_hover_duration
  54. neutral_EBA_SPT_NR1_hover_duration_per
  55. neutral_EBA_SPT_NR1_display_count
  56. neutral_EBA_SPT_NR1_display_count_per
  57. neutral_EBA_SPT_NR1_display_duration
  58. neutral_EBA_SPT_NR1_display_duration_per
  59. neutral_EBA_SPT_NR1_hover_and_display_count
  60. neutral_EBA_SPT_NR1_hover_and_display_count_per
  61. sadness_EBA_SPT_NR1_selected
  62. sadness_EBA_SPT_NR1_selected_per
  63. sadness_EBA_SPT_NR1_hover_count
  64. sadness_EBA_SPT_NR1_hover_count_per
  65. sadness_EBA_SPT_NR1_hover_duration
  66. sadness_EBA_SPT_NR1_hover_duration_per
  67. sadness_EBA_SPT_NR1_display_count
  68. sadness_EBA_SPT_NR1_display_count_per
  69. sadness_EBA_SPT_NR1_display_duration
  70. sadness_EBA_SPT_NR1_display_duration_per
  71. sadness_EBA_SPT_NR1_hover_and_display_count
  72. sadness_EBA_SPT_NR1_hover_and_display_count_per
  73. surprise_EBA_SPT_NR1_selected
  74. surprise_EBA_SPT_NR1_selected_per
  75. surprise_EBA_SPT_NR1_hover_count
  76. surprise_EBA_SPT_NR1_hover_count_per
  77. surprise_EBA_SPT_NR1_hover_duration
  78. surprise_EBA_SPT_NR1_hover_duration_per
  79. surprise_EBA_SPT_NR1_display_count
  80. surprise_EBA_SPT_NR1_display_count_per
  81. surprise_EBA_SPT_NR1_display_duration
  82. surprise_EBA_SPT_NR1_display_duration_per
  83. surprise_EBA_SPT_NR1_hover_and_display_count
  84. surprise_EBA_SPT_NR1_hover_and_display_count_per

Při samotném exportu je možné vybrat, které otázky a které emoce se budou exportovat.

Dále je možné v konfiguračním souboru dotazníku nastavit skupiny emocí, které se budou exportovat společně a statistiky se budou exportovat napříš více otázkami.

Konfigurace vypadá následovně. V top level JSON souboru je klíč emotion_export. Tato konfigurace vytvoří dvě skupiny pro export. Typ může být SecondEmotions a ThirdEmotions. Parametr “list” může být buďto pole nebo regulární výraz (https://cs.wikipedia.org/wiki/Regul%C3%A1rn%C3%AD_v%C3%BDraz)

{
  "emotion_export": [
    {
      "title": "EBA_SPT",
      "type": "SecondEmotions",
      "list": "^EBA_SPT_.+$"
    },
    {
      "title": "EBA3_SPT",
      "type": "ThirdEmotions",
      "list": "^EBA3_SPT.+$"
    }
  ]
}

První skupina bude zahrnovat všechny otázky začínající na EBA_SPT (tj. EBA_SPT_NR1 … EBA_SPT_NR8). Druhá skupina potom bude zahrnovat otázky začínající na EBA3_SPT (tj. EBA3_SPT_NR1 … EBA3_SPT_NR8)