Метка столбца в качестве имени переменной при использовании prcomp - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть фрейм данных * с метками столбцов.Как я могу использовать или показать эти столбцы метки вместо столбца имена , когда, например, используется prcomp?(Функция get_label ниже, из пакета sjlabelled.)

> get_label(spss.wvs) %>% head(2)
           wvs_e069_01                wvs_e069_02 
"Confidence: churches" "Confidence: armed forces" 

Что я получаю (через prcomp):

> pca.wvs$rotation %>% head(2)
                PC1        PC2
wvs_e069_01 -0.08513771 0.45688379 
wvs_e069_02 -0.23062304 0.05508813 

ЧтоЯ хочу is:

> pca.wvs$rotation %>% head(2)
                PC1        PC2
"Confidence: churches" -0.08513771 0.45688379 
"Confidence: armed forces" -0.23062304 0.05508813 

* Набор данных импортируется из ( ссылка dropbox в .sav ) через пакет haven в следующемfashion:

library(haven)
haven.imp <- read_spss("qog_std.sav")
library(dplyr)
spss.wvs <- haven.imp %>% dplyr:: select(starts_with("wvs_e069_0"), starts_with("wvs_e069_1"), grep("wvs_e069_20", names(haven.imp)))

(я уверен, что есть более эффективные способы получить "все между wvs_e0690_00 и wvs_e0690_20", но по крайней мере это помогает. Указатели приветствуются. Как вы можете сказать, яЯ новичок в .)

Выход str(spss.wvs[1]):

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   193 obs. of  1 variable:
 $ wvs_e069_01: num  NA NA NA 3.17 NA ...
  ..- attr(*, "label")= chr "Confidence: churches"
  ..- attr(*, "format.spss")= chr "F8.2"

1 Ответ

0 голосов
/ 12 февраля 2019

Ах!Я могу сделать:

> library(sjlabelled)
> rownames(spss.wvs$rotation) <- get_label(wvs)

Что дает мне

> spss.wvs$rotation %>% head(2)
                                 PC1        PC2
Confidence: churches     -0.08513771 0.45688379
Confidence: armed forces -0.23062304 0.05508813
...