Oferty statystyczne Tutoriale Opinie Kontakt

Dane z Formularzy Google do analizy – eksport CSV i przygotowanie krok po kroku

Formularze Google zbierają odpowiedzi wygodnie, ale plik, który z nich pobierzesz, rzadko nadaje się do analizy od razu. Typowe pytanie z pracy dyplomowej: jak z tabeli pełnej długich pytań, słów „Raczej się zgadzam” i komórek typu „Notatki; Quizy” zrobić dane, na których policzysz procenty, średnie i testy?

W prostych słowachKażda osoba to jeden wiersz, każde pytanie – jedna kolumna. Twoje zadanie to nadać kolumnom krótkie nazwy, zamienić słowa na liczby tam, gdzie chcesz liczyć średnie, rozbić pytania wielokrotnego wyboru na osobne kolumny „tak/nie” i zaznaczyć braki odpowiedzi. Rób to w kodzie albo w kopii pliku, nigdy w oryginale.

Wszystko pokażemy na mini-ankiecie „Jak się uczysz?”: 8 studentów, płeć, pytanie o metody nauki (wielokrotny wybór) i trzy stwierdzenia na skali Likerta, w tym jedno odwrócone. Jak zaplanować samą ankietę, opisujemy we wpisie gdzie zrobić ankietę do pracy magisterskiej.

Krok 1. Jak pobrać odpowiedzi z Formularzy Google?

W formularzu otwórz zakładkę z odpowiedziami. Masz dwie drogi: pobrać odpowiedzi jako plik CSV (z menu trzech kropek, plik przychodzi spakowany w ZIP) albo połączyć formularz z Arkuszem Google i z arkusza wybrać pobieranie w formacie CSV. Oba pliki mają ten sam układ: pierwsza kolumna to sygnatura czasowa, a dalej po jednej kolumnie na pytanie. Oryginalny plik zachowaj bez zmian. Wszystkie poprawki rób w kopii albo w kodzie, który da się uruchomić jeszcze raz, gdy dojdą nowe odpowiedzi.

Krok 2. Polskie znaki – dlaczego zamiast „ł” widzisz krzaki?

Google zapisuje CSV w kodowaniu UTF-8. Kłopot pojawia się, gdy plik otworzysz podwójnym kliknięciem w Excelu – program może odczytać go w innym kodowaniu i „Mężczyzna” zamieni się w ciąg dziwnych znaków. Jeśli potem zapiszesz plik, uszkodzisz dane. Bezpieczniej jest importować CSV ze wskazaniem kodowania UTF-8: w Excelu przez import danych z pliku tekstowego, w R przez fileEncoding = "UTF-8", a w jamovi czy SPSS – w oknie importu. Po wczytaniu sprawdź kilka komórek z „ą”, „ę” i „ł”.

Krok 3. Nazwy kolumn – zamień pytania na krótkie kody

Nagłówki kolumn to pełne treści pytań, np. „Odkładam naukę na ostatnią chwilę”. Do analizy potrzebujesz krótkich kodów bez spacji i znaków specjalnych. Zapisz je w tabeli, tzw. książce kodów, która trafi potem do aneksu pracy.

Tabela 1. Książka kodów mini-ankiety „Jak się uczysz?”
Pytanie w formularzuKodTyp pytaniaCo zrobić przed analizą
Sygnatura czasowaczasdata i godzinazostawić do kontroli duplikatów
Płećplecjednokrotny wybórzmienna kategorialna o 2 poziomach
Z jakich metod nauki korzystasz?metodywielokrotny wybórrozdzielić na 4 kolumny 0/1
Lubię się uczyćP1Likert 1–5 (słowa)zamienić słowa na liczby
Uczę się systematycznieP2Likert 1–5 (słowa)zamienić słowa na liczby
Odkładam naukę na ostatnią chwilęP3Likert 1–5 (słowa)zamienić na liczby i odwrócić: P3r = 6 − P3

Krok 4. Pytania jednokrotnego wyboru

Płeć, kierunek czy rok studiów to zmienne kategorialne. W R zamień je na czynnik (factor) i ustal kolejność poziomów, np. rok I, II, III, a nie alfabetyczną. Uważaj na opcję „Inne:” z polem do wpisania. Odpowiedzi „ekonomia”, „Ekonomia ” i „ekonomia UW” program uzna za trzy różne kategorie, więc ujednolić je musisz ręcznie. Liczebności i procenty policzysz potem jak w haśle o częstościach i procentach. W naszej ankiecie wzięło udział 5 kobiet i 3 mężczyzn.

Krok 5. Pytania wielokrotnego wyboru – rozdzielanie odpowiedzi

Gdy ktoś zaznaczy kilka opcji, Formularze zapisują je w jednej komórce, oddzielone separatorem – zwykle przecinkiem ze spacją. W naszym pliku opcje rozdziela średnik ze spacją („; ”). Sprawdź separator w swoim pliku i wpisz go w kodzie. Takiej komórki nie da się policzyć wprost. Trzeba ją rozbić na osobne kolumny, po jednej na opcję, z wartością 1 (zaznaczył) lub 0 (nie zaznaczył).

Schemat: osiem odpowiedzi z jednej kolumny, np. Notatki; Quizy, zamienione na cztery kolumny Notatki, Quizy, Fiszki, Filmy z wartościami 0 i 1; sumy kolumn 5, 3, 3 i 2
Rys. 1. Rozdzielanie pytania wielokrotnego wyboru. Po lewej treść komórki z pliku CSV, po prawej cztery nowe kolumny. Suma kolumny to liczba osób, które zaznaczyły daną opcję: Notatki 5, Quizy 3, Fiszki 3, Filmy 2. Osoba 7 nie zaznaczyła nic, więc ma same zera.

Procenty liczysz od liczby osób, a nie od liczby zaznaczeń. Notatki wybrało 5 z 8 osób, czyli 62,5%, Quizy i Fiszki – po 37,5%, a Filmy – 25,0%. Te procenty sumują się do więcej niż 100%, bo jedna osoba mogła wybrać kilka opcji. W pracy napisz to w nocie pod tabelą. Jeśli pytanie nie było obowiązkowe, zdecyduj też, czy podstawą jest 8 osób, czy 7, które odpowiedziały, i podaj tę liczbę.

Wykres słupkowy z aplikacji SZTOS: odsetek osób wybierających metody nauki – Notatki 62,50%, Quizy 37,50%, Fiszki 37,50%, Filmy 25,00%, Brak danych 12,50%
Rys. 2. Te same dane w module rekodowania odpowiedzi z Formularzy Google aplikacji SZTOS. Aplikacja sama rozdziela komórki, tworzy kolumny „Tak/Nie” i rysuje odsetek osób przy każdej opcji (z N = 8, dlatego pusta odpowiedź osoby 7 ma własny słupek „Brak danych”, 12,50%). Aplikacja podaje liczby z kropką dziesiętną. Pełny raport z tego modułu zobaczysz w przykładowym raporcie z rekodowania odpowiedzi wielokrotnych.

Krok 6. Skala Likerta zapisana słowami – zamiana na liczby

Formularz zapisuje odpowiedź tak, jak brzmiała etykieta, np. „Raczej się zgadzam”. Ustal przypisanie: „Zdecydowanie się nie zgadzam” = 1, „Raczej się nie zgadzam” = 2, „Ani tak, ani nie” = 3, „Raczej się zgadzam” = 4, „Zdecydowanie się zgadzam” = 5. W kodzie zrób to jedną listą etykiet, a nie ręcznym poprawianiem komórek. Literówka albo dodatkowa spacja w etykiecie da brak danych zamiast liczby, więc po zamianie policz braki jeszcze raz. Pytanie odwrócone (P3) przelicz wzorem 6 − odpowiedź, żeby wysoki wynik zawsze znaczył to samo. Czy wynik skali liczyć średnią, czy medianą, wyjaśniamy we wpisie skala Likerta – jak ją analizować, a rzetelność skali sprawdzisz jak w przykładzie z alfą Cronbacha.

Krok 7. Braki danych – puste komórki to nie zera

Pusta komórka oznacza brak odpowiedzi i w R powinna mieć wartość NA. Nigdy nie wpisuj w jej miejsce 0 ani 3 „ze środka skali”, bo zmienisz średnią i rozrzut. W naszym pliku są dwa braki: osoba 7 nie wybrała żadnej metody, a osoba 8 pominęła P2. Średnią skali dla osoby 8 policzyliśmy z dwóch dostępnych pytań. Taka reguła jest w porządku, gdy braków jest mało i opiszesz ją w pracy. Przy wielu brakach sięgnij po metody opisane we wpisie braki danych i imputacja wielokrotna.

Tabela kolorów: 8 osób i trzy pytania Likerta po zamianie na liczby 1–5; u osoby 8 w pytaniu P2 napis brak; po prawej średnie od 1,33 do 4,67
Rys. 3. Pytania Likerta po zamianie słów na liczby. Im ciemniejszy kolor, tym wyższa odpowiedź. P3 jest już odwrócone (P3r). Po prawej wynik skali każdej osoby. Średnia w grupie wynosi 3,50, a odchylenie standardowe 1,26.

Cały przepływ w R

Kod wczytuje mały plik CSV wpisany wprost w skrypt, nadaje krótkie nazwy, zamienia Likerta na liczby, rozdziela metody nauki i liczy braki, procenty oraz wynik skali. Ten sam kod uruchomisz na pełnym pliku, zmieniając tylko pierwszą linię.

# Eksport CSV z Formularzy Google (8 osób). Z pliku wczytasz go tak:
# d <- read.csv("odpowiedzi.csv", fileEncoding = "UTF-8", na.strings = "", check.names = FALSE)
csv <- '"Sygnatura czasowa","Płeć","Z jakich metod nauki korzystasz?","Lubię się uczyć","Uczę się systematycznie","Odkładam naukę na ostatnią chwilę"
"2026/03/02 10:15:23","Kobieta","Notatki; Quizy","Raczej się zgadzam","Raczej się zgadzam","Raczej się nie zgadzam"
"2026/03/02 10:21:40","Mężczyzna","Fiszki","Raczej się nie zgadzam","Zdecydowanie się nie zgadzam","Zdecydowanie się zgadzam"
"2026/03/02 11:02:05","Kobieta","Notatki; Fiszki; Filmy","Zdecydowanie się zgadzam","Raczej się zgadzam","Zdecydowanie się nie zgadzam"
"2026/03/02 12:44:18","Kobieta","Quizy","Ani tak, ani nie","Ani tak, ani nie","Ani tak, ani nie"
"2026/03/03 09:10:51","Mężczyzna","Notatki; Filmy","Raczej się zgadzam","Zdecydowanie się zgadzam","Raczej się nie zgadzam"
"2026/03/03 09:35:12","Kobieta","Notatki; Quizy; Fiszki","Zdecydowanie się zgadzam","Raczej się zgadzam","Zdecydowanie się nie zgadzam"
"2026/03/03 14:27:33","Mężczyzna","","Raczej się nie zgadzam","Raczej się nie zgadzam","Raczej się zgadzam"
"2026/03/04 18:03:09","Kobieta","Notatki","Raczej się zgadzam","","Raczej się nie zgadzam"'
d <- read.csv(text = csv, encoding = "UTF-8", na.strings = "", check.names = FALSE)
names(d) <- c("czas", "plec", "metody", "P1", "P2", "P3")       # krótkie nazwy kolumn
d$plec <- factor(d$plec, levels = c("Kobieta", "Mężczyzna"))     # jednokrotny wybór
skala <- c("Zdecydowanie się nie zgadzam", "Raczej się nie zgadzam", "Ani tak, ani nie",
           "Raczej się zgadzam", "Zdecydowanie się zgadzam")
for (v in c("P1", "P2", "P3")) d[[v]] <- match(d[[v]], skala)    # Likert: tekst -> 1–5
d$P3r <- 6 - d$P3                                                  # pytanie odwrócone
metody <- c("Notatki", "Quizy", "Fiszki", "Filmy")                 # wielokrotny wybór:
lista <- strsplit(d$metody, "; ", fixed = TRUE)                    # rozdziel komórkę „; ”
for (m in metody) d[[m]] <- sapply(lista, function(x) as.integer(m %in% x))
colSums(is.na(d[, c("metody", "P1", "P2", "P3")]))                # braki danych
table(d$plec)
colSums(d[, metody])                                              # liczba osób
round(100 * colMeans(d[, metody]), 1)                             # % z N = 8
d$wynik <- rowMeans(d[, c("P1", "P2", "P3r")], na.rm = TRUE)       # średnia z 3 pytań
round(c(M = mean(d$wynik), SD = sd(d$wynik)), 2)

Wynik w konsoli R:

metody     P1     P2     P3 
     1      0      1      0 

  Kobieta Mężczyzna 
        5         3 
Notatki   Quizy  Fiszki   Filmy 
      5       3       3       2 
Notatki   Quizy  Fiszki   Filmy 
   62.5    37.5    37.5    25.0 
   M   SD 
3.50 1.26 

R pokazuje procenty z kropką dziesiętną. W pracy wpisz je z przecinkiem.

Jak opisać przygotowanie danych w pracy?

Gotowy fragment: Dane zebrano za pomocą Formularzy Google, a odpowiedzi wyeksportowano do pliku CSV (kodowanie UTF-8). Odpowiedzi na stwierdzenia oceniane na pięciostopniowej skali Likerta zakodowano liczbowo od 1 („zdecydowanie się nie zgadzam”) do 5 („zdecydowanie się zgadzam”), a pozycję P3 odwrócono. Pytanie wielokrotnego wyboru rozkodowano na zmienne zero-jedynkowe. Brakujące odpowiedzi pozostawiono jako braki danych; wynik skali obliczono jako średnią dostępnych odpowiedzi.

Wynik możesz potem przedstawić w tabeli z opisem próby – jak ją zbudować, pokazujemy we wpisie opis próby badawczej – Tabela 1. Cały dalszy proces opracowania ankiety opisuje poradnik jak opracować wyniki ankiety.

Checklista przed analizą

  • Oryginalny plik CSV zachowany bez zmian, poprawki w kopii lub w kodzie.
  • Polskie znaki wyświetlają się poprawnie (import z kodowaniem UTF-8).
  • Każda kolumna ma krótki kod, a książka kodów jest gotowa do aneksu.
  • Odpowiedzi testowe i powtórzone wypełnienia usunięte (sprawdź sygnaturę czasową).
  • Kategorie z pola „Inne:” ujednolicone.
  • Likert zamieniony na liczby, pytania odwrócone przeliczone.
  • Pytania wielokrotnego wyboru rozdzielone na kolumny 0/1.
  • Braki policzone i opisane, żadna pusta komórka nie zamieniła się w zero.

Czy Formularze Google same zrobią analizę statystyczną?

Nie. Zakładka podsumowania pokazuje wykresy i liczby odpowiedzi na każde pytanie, ale nie policzy wyniku skali, korelacji ani testu. Te wykresy wystarczą do szybkiego podglądu, a do pracy potrzebujesz danych przygotowanych tak jak wyżej.

Jak policzyć procenty w pytaniu wielokrotnego wyboru?

Podziel liczbę osób, które zaznaczyły opcję, przez liczbę osób w podstawie (wszystkich albo tych, które odpowiedziały). Nie dziel przez łączną liczbę zaznaczeń. Takie „udziały w odpowiedziach” sumują się do 100%, ale nie mówią, jaka część badanych wybrała daną opcję.

Bibliografia

  1. Broman, K. W., & Woo, K. H. (2018). Data organization in spreadsheets. The American Statistician, 72(1), 2–10. https://doi.org/10.1080/00031305.2017.1375989
  2. Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE.
  3. Wickham, H. (2014). Tidy data. Journal of Statistical Software, 59(10), 1–23. https://doi.org/10.18637/jss.v059.i10
  4. Hryniewicz, K., & Milewska, A. (2023). SZTOS: System Zautomatyzowanego Tworzenia Opisu Statystycznego [Oprogramowanie]. SZTOS IT. https://sztos-it.com/

Zobacz też

Potrzebujesz pomocy z analizą do pracy dyplomowej?

Policzymy Twoje wyniki, przygotujemy tabele, wykresy i opis w standardzie APA, który wykorzystasz w swojej pracy. Pomagamy jak statystyk i redaktor – autorem pracy zostajesz Ty. Konsultacja i wycena są bezpłatne.

Na skróty