read_sav() z pakietu haven; sprawdź, czy wszystkie kody braków zostały zadeklarowane.Co to jest plik .sav?
Plik .sav to plik danych programu IBM SPSS Statistics. Według dokumentacji polecenia SAVE zawiera on dane oraz słownik: nazwy zmiennych, etykiety zmiennych i wartości, oznaczenia braków danych i formaty wyświetlania (IBM Corp., b.d.-a). Tym różni się od pliku CSV, który przechowuje tylko tekst w komórkach, bez informacji, że 1 znaczy „kobieta”, a 9 – „brak odpowiedzi”.
Co jest zapisane w pliku
Atrybuty zmiennych ustawiasz w SPSS na karcie Variable View (Widok zmiennych): nazwę, typ, etykietę zmiennej i etykiety wartości, braki zdefiniowane przez użytkownika i poziom pomiaru (IBM Corp., b.d.-b). Wszystko to trafia do pliku razem z danymi. Plik .sav jest więc wygodną formą przekazania zbioru z książką kodową „w środku”, choć książki w osobnym dokumencie nie zastępuje.
Plik .sav w R
W R pliki .sav wczytasz i zapiszesz pakietem haven (Wickham i in., 2025): read_sav() i write_sav(). Etykiety wartości trafiają do zmiennych typu labelled, a funkcja as_factor() zamienia je na czynniki (zob. kodowanie zmiennych w R).
Przykład
Zapisano mały zbiór, w którym płeć ma etykiety, a kod 9 („brak odpowiedzi”) zadeklarowano jako brak. Po wczytaniu z ustawieniami domyślnymi read_sav() zamienił 9 na NA; z argumentem user_na = TRUE kod 9 został zachowany jako brak zdefiniowany. W zmiennej stresu kod 99 nie był zadeklarowany jako brak, więc średnia wyniosła 40, zamiast 25.25 po jego usunięciu.
Jak opisać w pracy
Na co uważać
- Każdy kod braku danych zadeklaruj w pliku albo zamień na brak przed analizą; inaczej trafi do średniej jak zwykła liczba.
- Udostępniając dane, dołącz też wersję w otwartym formacie tekstowym, bo .sav jest formatem binarnym konkretnego programu.
- Przenoszenie danych z formularzy do SPSS i R opisuje wpis Dane z Google Forms i LimeSurvey.
Zapis i odczyt pliku .sav w R
Kod tworzy zbiór z etykietami i brakiem zdefiniowanym przez użytkownika, zapisuje go do pliku .sav, wczytuje dwoma sposobami i pokazuje skutek niezadeklarowanego kodu 99.
Etykiety wartości i braki w pakiecie haven
R
library(haven)
d <- data.frame(id = 1:5,
plec = labelled_spss(c(1, 2, 2, 1, 9), labels = c(kobieta = 1, `mężczyzna` = 2, `brak odpowiedzi` = 9),
na_values = 9, label = "Płeć respondenta"),
stres = c(24, 31, 19, 99, 27))
attr(d$stres, "label") <- "Wynik skali stresu (10–40)"
plik <- tempfile(fileext = ".sav")
write_sav(d, plik) # zapis w formacie SPSS
a <- read_sav(plik) # domyślnie braki użytkownika (9) stają się NA
a$plec
b <- read_sav(plik, user_na = TRUE) # zachowaj kod 9 jako brak zdefiniowany
b$plec
table(as_factor(a$plec), useNA = "ifany") # etykiety wartości jako factor
attr(a$stres, "label")
summary(a$stres) # 99 nie został zadeklarowany jako brak
a$stres[a$stres == 99] <- NA; mean(a$stres, na.rm = TRUE) # średnia po poprawceWynik w R
<labelled<double>[5]>: Płeć respondenta
[1] 1 2 2 1 NA
Labels:
value label
1 kobieta
2 mężczyzna
9 brak odpowiedzi
<labelled_spss<double>[5]>: Płeć respondenta
[1] 1 2 2 1 9
Missing values: 9
Labels:
value label
1 kobieta
2 mężczyzna
9 brak odpowiedzi
kobieta mężczyzna brak odpowiedzi <NA>
2 2 0 1
[1] "Wynik skali stresu (10–40)"
Min. 1st Qu. Median Mean 3rd Qu. Max.
19 24 27 40 31 99
[1] 25.25Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 z pakietem haven 2.5.5.
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- haven (wersja 2.5.5): Wickham, H., Miller, E., & Smith, D. (2025). haven: Import and export 'SPSS', 'Stata' and 'SAS' files [R package]. https://doi.org/10.32614/CRAN.package.haven
Najczęstsze pytania
Jak otworzyć plik .sav bez SPSS?
Na przykład w R: funkcja read_sav() z pakietu haven wczytuje dane razem z etykietami zmiennych i wartości.
Czym różni się plik .sav od pliku CSV?
Plik .sav zawiera dane i słownik z etykietami, brakami i formatami. CSV to zwykły tekst z wartościami, więc znaczenie kodów trzeba opisać osobno.
Co robi read_sav() z brakami zdefiniowanymi w SPSS?
Domyślnie zamienia je na NA. Z argumentem user_na = TRUE zachowuje oryginalne kody i informację, że są brakami.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
R dla początkujących
Od instalacji R i RStudio do pierwszego testu t: wczytanie CSV i .sav, ramka danych, wynik skali, statystyki opisowe, d Cohena. Dane i skrypt do pobrania.
Czytaj →PoradnikDane z Google Forms i LimeSurvey: kodowanie do SPSS i R
Eksport, nazwy zmiennych, rekodowanie Likerta, pozycje odwrócone, wielokrotny wybór i braki – krok po kroku, z kodem R i wzorem książki kodowej.
Czytaj →PoradnikJak czytać wyniki z SPSS
Osiem najczęstszych tabel SPSS: co odczytać, który wiersz wybrać, co znaczy Sig. = .000 i jak przepisać wynik w stylu APA.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- IBM Corp. (b.d.-a). SAVE. IBM SPSS Statistics 26.0.0 Command Syntax Reference. https://www.ibm.com/docs/en/SSLVMB_26.0.0/statistics_reference_project_ddita/spss/base/syn_save_overview.html ● Otwarty dostęp
- IBM Corp. (b.d.-b). Variable View. IBM SPSS Statistics 31.0.0 documentation. https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=editor-variable-view ● Otwarty dostęp
- Wickham, H., Miller, E., & Smith, D. (2025). haven: Import and export 'SPSS', 'Stata' and 'SAS' files (Version 2.5.5) [R package]. https://doi.org/10.32614/CRAN.package.haven ● Otwarty dostęp
Cytowania BibTeX
@misc{ibmndsave, author={{IBM Corp.}}, title={{SAVE}}, howpublished={IBM SPSS Statistics 26.0.0 Command Syntax Reference}, year={b.d.-a}, publisher={IBM}, url={https://www.ibm.com/docs/en/SSLVMB_26.0.0/statistics_reference_project_ddita/spss/base/syn_save_overview.html}}@misc{ibmndvariableview, author={{IBM Corp.}}, title={{Variable View}}, howpublished={IBM SPSS Statistics 31.0.0 documentation}, year={b.d.-b}, publisher={IBM}, url={https://www.ibm.com/docs/en/spss-statistics/31.0.0?topic=editor-variable-view}}@misc{wickham2025haven, author={Wickham, Hadley and Miller, Evan and Smith, Danny}, title={{haven: Import and export 'SPSS', 'Stata' and 'SAS' files (R package version 2.5.5) [Computer software]}}, year={2025}, doi={10.32614/cran.package.haven}}