[R] Can I make spss.get reencode from Windows-1252?

Rui Barradas
Sat, 08 Sep 2012 09:32:17 -0000

Hello,

If all you need is the column labels, read.spss does return them as an
attribute of the list/data.frame.
You can write an extractor function:

variable.labels <- function(x) attr(x, "variable.labels")

and then

dfr <- read.spss(file.choose(), reencode = 'Windows-1252',
to.data.frame
= TRUE)
variable.labels(dfr)

Hope this helps,

Rui Barradas
Em 08-09-2012 04:17, Dan Delaney escreveu:
> Hi all. I have an SPSS file that I'm loading into R with the Hmisc
spss.get function. The trouble is that the SPSS file uses the Windows-1252
character set (which I think is the default for SPSS on Windows) instead of
plain-ol' Latin-1, and since spss.get doesn't allow me to pass the
"reencode" option to read.spss, any characters in Windows-1252 that
are not a part of Latin-1 (such as curly quotes, en-dashes, and a handful of
others) come into R looking like this: "Don\x92t know". Now if I read
that SPSS file in with read.spss and include
"reencode='Windows-1252'", those characters convert to UTF-8
just fine, yielding "Don?t know". But then, of cource, I don't get
the niceties of spss.get, such as the "labels" attributes on the
columns.
>
> So my question is, how can I either pass the
"reencode='Windows-1252'" option through to read.spss, or how
can I make spss.get default to reencoding from Windows-1252 instead of Latin-1?
>
> Thanks
> ?Dan
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.