GithubHelp home page GithubHelp logo

Comments (8)

hadley avatar hadley commented on May 20, 2024

Could you please attach a minimal example

from haven.

sjPlot avatar sjPlot commented on May 20, 2024

Here's an example:

library(haven)

# umlaut-test
mydf <- read_sav("umlauts.sav")
str(mydf)

# > str(mydf)
# Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4 obs. of  1 variable:
#   $ var1:Class 'labelled'  atomic [1:4] 1 2 1 3
# .. ..- attr(*, "label")= chr "This is an ä-umlaut"
# .. ..- attr(*, "labels")= Named int [1:3] 1 2 3
# .. .. ..- attr(*, "names")= chr [1:3] "the ä umlaut" "the ü umlaut" "the ö umlaut"

umlauts

library(sjPlot)
# my read_spss function is a wrapper for read.spss
# of the foreign-package. read_spss only available
# in current development snaphot at github.com/sjPlot/devel
mydf <- read_spss("umlauts.sav")
str(mydf)

# > str(mydf)
# 'data.frame': 4 obs. of  1 variable:
#   $ var1: atomic  1 2 1 3
# ..- attr(*, "value.labels")= Named num  3 2 1
# .. ..- attr(*, "names")= chr  "the ö umlaut" "the ü umlaut" "the ä umlaut"
# - attr(*, "variable.labels")= Named chr "This is an ä-umlaut"
# ..- attr(*, "names")= chr "var1"
# - attr(*, "codepage")= int 65001

# changing the encoding helps
mydf <- read_spss("umlauts.sav", enc = "UTF-8")
str(mydf)

# > str(mydf)
# 'data.frame': 4 obs. of  1 variable:
#   $ var1: atomic  1 2 1 3
# ..- attr(*, "value.labels")= Named chr  "3" "2" "1"
# .. ..- attr(*, "names")= chr  "the ö umlaut" "the ü umlaut" "the ä umlaut"
# - attr(*, "variable.labels")= Named chr "This is an ä-umlaut"
# ..- attr(*, "names")= chr "var1"
# - attr(*, "codepage")= int 65001

from haven.

evanmiller avatar evanmiller commented on May 20, 2024

Can you attach the umlauts.sav file itself?

from haven.

hadley avatar hadley commented on May 20, 2024

@evanmiller it's possible this is a bug on my end - can I assume readstat_string_value() is always UTF-8?

from haven.

evanmiller avatar evanmiller commented on May 20, 2024

Yes, it should always return UTF-8.

from haven.

hadley avatar hadley commented on May 20, 2024

@sjPlot can you please try again with the latest version? I pushed a possible fix

from haven.

hadley avatar hadley commented on May 20, 2024

Oh hmm, I only fixed it in one place (variable values) - I'll need to think a bit more to fix the labels.

from haven.

sjPlot avatar sjPlot commented on May 20, 2024

I don't know how to attach sav-files, but I just sent them to Hadley.

from haven.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.