2017-06-19 37 views
1

我奮力以提取一個值和標記數據作爲R的data.frame在以下示例中的標記物,我想提取的兩列中的數據幀和標籤提取值和標記的數據的標籤

您的時間和幫助非常感謝。

download.file("http://mqasim.me/temp/Workingdata.RData", "Workingdata11.RData") 
load("Workingdata11.RData") 

library(labelled) 
df <- wvs2i$V2 

str(df) 
Class 'labelled' atomic [1:24558] 32 32 32 32 32 32 32 32 32 32 ... 
    ..- attr(*, "label")= chr "Country/region" 
    ..- attr(*, "format.stata")= chr "%8.0g" 
    ..- attr(*, "labels")= Named num [1:197] -5 -4 -3 -2 -1 4 8 12 16 20 ... 
    .. ..- attr(*, "names")= chr [1:197] "Missing; Unknown" "Not asked in survey" "Not applicable" "No answer" ... 

head(df) 

<Labelled double> 
[1] 32 32 32 32 32 32 

Labels: 
value     label 
    -5  Missing; Unknown 
    -4 Not asked in survey 
    -3  Not applicable 
    -2    No answer 
    -1   Don't know 
    4   Afghanistan 
    8    Albania 
    12    Algeria 
    16  American Samoa 
    20    Andorra 
    24    Angola 
    28    Antigua 
    31   Azerbaijan 
    32    Argentina 

回答

2

標籤和值存儲爲df的屬性。你可以得到你想要的:

stack(attr(df, 'labels')) 

#  values     ind 
# 1  -5  Missing; Unknown 
# 2  -4 Not asked in survey 
# 3  -3  Not applicable 
# 4  -2    No answer 
# 5  -1   Don't know 
# 6  4   Afghanistan 
# ...... 
+0

優秀的答案,這正是我所追求的。感謝您的及時迴應。 –