6 Skriva data

Med haven kan vi enkelt skriva data till SPSS- eller SAS-format.

6.1 SPSS

Ett problem som kan dyka upp är dock öppna svar. I de fall vi har öppna svar som är längre än 100 tib så kan kan vi inte skriva sav-filer. Det här går inte i SPSS heller. Om du öppnar en SPSS-fil och skriver in ett öppet svar som är längre än 100 tecken kommer du inte att kunna läsa filen i SPSS.

Lösningen blir att skriva filen och korta alla öppna svar så att de blir <= 100 tib.

data %>%
  mutate_if(is.character, funs(str_sub(., 1, 100))) %>%
  write_sav("inpl0001_mod.sav")

6.2 SAS

På samma sätt kan vi skriva SAS-filer.

data %>%
  mutate_if(is.character, funs(str_sub(., 1, 100))) %>%
  write_sas("inpl0001_mod.sas7bdat")

6.3 Excel

Vi kan skriva Excel-filer med flera olika paket. Paketet vi använder här är openxlsx.

Observera att data måste vara en data.frame för att kunna exporteras. Vi filtrerar även så att endast de som fullföljt enkäten exporteras.

library(openxlsx)

data %>%
  filter(hsid >= 18) %>%
  as.data.frame() %>%
  write.xlsx("test.xlsx", row.names = FALSE, showNA = FALSE)

6.4 Läs mer

openxlsx kan även användas för att formatera exporten. Du kan göra conditional formatting, formater som tabeller, ändra typsnitt och mycket mer. Kolla in paketet här.

Det finns även ett spännande paket som heter tidyxl som är skapat för att bearbeta exempelvis pitvottabeller och gör dom analyserbara i R.