информация из «атрибута метки» в R в «МЕТКИ ПЕРЕМЕННЫХ» в SPSS

Я работаю в R, но мне нужно предоставить некоторые данные в формате SPSS как с «метками переменных», так и с «метками значений», и я м вроде застрял.

Я добавил метки переменных к своим данным, используя функцию Hmisc's label. Это добавляет метки переменных как label attribute, что удобно при использовании description()из пакета Hmisc. Проблема в том, что я не могу заставить функцию write.foreign()из пакета foreignраспознавать эти метки как метки переменных. Я предполагаю, что мне нужно изменить write.foreign(), чтобы использовать атрибут метки как метку переменной при записи файла .sps.

Я просмотрел список R и stackoverflow, но смог найти только сообщение от 2006 года в списке R, касающееся экспорта меток переменных в SPSS из R, и оно, похоже, не отвечает на мой вопрос. .

Вот мой рабочий пример.

# First I create a dummy dataset
df <- data.frame(id = c(1:6), p.code = c(1, 5, 4, NA, 0, 5),  
                 p.label = c('Optometrists', 'Nurses', 'Financial analysts',
                 '', '0', 'Nurses'), foo = LETTERS[1:6])

# Second, I add some variable labels using label from the Hmisc package
# install.packages('Hmisc', dependencies = TRUE)
library(Hmisc)
label(df) <- "Sweet sweet data"
label(df$id) <- "id !@#$%^" 
label(df$p.label) <- "Profession with human readable information"
label(df$p.code) <- "Profession code"
label(df$foo) <- "Variable label for variable x.var"
# modify the name of one varibes, just to see what happens when exported.
names(df)[4] <- "New crazy name for 'foo'"

# Third I export the data with write.foreign from the foreign package
# install.packages('foreign', dependencies = TRUE)
setwd('C:\\temp')
library(foreign)
write.foreign(df,"df.wf.txt","df.wf.sps",  package="SPSS")

list.files()
[1] "df.wf.sps" "df.wf.txt"

Когда я проверяю файл .sps(см. содержимое файла 'df.wf.sps' ниже), мои метки переменныхидентичны к моим именам переменных, за исключением foo, которое я переименовал в «Новое сумасшедшее имя для« foo »». Эта переменная имеет новое и, казалось бы, случайное имя, но правильную метку переменной .

Кто-нибудь знает, как экспортировать атрибуты меток и имена переменных как «метки переменных» и «имена меток» в файл .sps? Может быть, есть более разумный способ хранить «метки переменных», чем мой текущий метод?

Будем признательны за любую помощь.

Спасибо, Эрик

Содержимое экспорта 'df.wf.sps' с использованием write.foreignиз пакета Foreign

DATA LIST FILE= "df.wf.txt"  free (",")
/ id p.code p.label Nwcnf.f.  .

VARIABLE LABELS
 id "id" 
 p.code "p.code" 
 p.label "p.label" 
 Nwcnf.f. "New crazy name for 'foo'" 
 .

VALUE LABELS
/
p.label  
 1 "0" 
 2 "Financial analysts" 
 3 "Nurses" 
 4 "Optometrists" 
/
Nwcnf.f.  
 1 "A" 
 2 "B" 
 3 "C" 
 4 "D" 
 5 "E" 
 6 "F" 
.

EXECUTE.

Обновление 16 апреля 2012 г., 15:54 :24 часов по тихоокеанскому времени;

Я ищу способ настроить write.foreignдля записи файла .sps, где эта часть,

[…] 

VARIABLE LABELS
 id "id" 
 p.code "p.code" 
 p.label "p.label" 
 Nwcnf.f. "New crazy name for 'foo'" 

[…] 

выглядит так,

[…] 

VARIABLE LABELS
 id "id !@#$%^" 
 p.code "Profession code" 
 p.label "Profession with human readable information" 
 "New crazy name for 'foo'" "New crazy name for 'foo'" 

[…]

Последняя строка немного амбициозна, мне действительно не нужны переменные с пробелами в именах, но я бы хотел, чтобы атрибуты меток были переданы в файл .spas (который я создаю с помощью R).

7
задан Eric Fail 19 April 2012 в 19:45
поделиться