在R Studio中搜索后如何保留变量标签?

在R Studio中搜索后如何保留变量标签?,r,dataframe,R,Dataframe,我认为我的问题很容易解决,但由于我在R中是全新的,我不知道如何处理它 所以,我不得不对来自SPSS.sav数据集的数据进行加权。首先,我使用foreign将其导入RStudio。然后我通过iterake创建了另一个数据帧。但是,在耙取之后,所有变量标签都消失了。我试图将标签从源数据帧复制到加权数据帧,但令人惊讶的是,R似乎无法识别源变量标签,即使我在RStudio窗口中看到它们(变量名称下方)。我的意思是,在加载带标签的库并启动var\u标签(SourceDF)之后,我只得到NULL值 我的目标

我认为我的问题很容易解决,但由于我在R中是全新的,我不知道如何处理它

所以,我不得不对来自SPSS.sav数据集的数据进行加权。首先,我使用
foreign
将其导入RStudio。然后我通过
iterake
创建了另一个数据帧。但是,在耙取之后,所有变量标签都消失了。我试图将标签从源数据帧复制到加权数据帧,但令人惊讶的是,R似乎无法识别源变量标签,即使我在RStudio窗口中看到它们(变量名称下方)。我的意思是,在加载带标签的库
并启动
var\u标签(SourceDF)
之后,我只得到
NULL

我的目标是将新的加权变量复制到源数据帧中(并将源导出回SPSS格式),或者将变量标签从源数据帧复制到倾斜数据帧中

因此:

  • 如何创建带有可变标签的加权数据帧(通过
    iterake
  • 如何将源变量标签复制到加权标签
  • 这是我创建的简化代码:

    library(foreign)
    library(iterake)
    library(expss)
    library(haven)
    
    #source dataframe
    df = read.spss("sourcedataset.sav", use.value.labels=TRUE, to.data.frame=TRUE)
    
    #raking universe
    uni = universe(data = df, category(name = "q1", 
                                       buckets = c("a", "b", "c", "d"), 
                                       targets = c(0.2,0.5,0.2,0.1), sum.1 = TRUE), 
                              category(name = "q2",
                                       buckets = c("e", "f"), 
                                       targets = c(0.8,0.2),
                                                  sum.1 = TRUE), N = 1000)
    #creation of the raked dataframe
    df.wgt = iterake(universe = uni)```
    

    如果你仔细阅读这篇文章,你会发现必要的洞察力

    简言之,请执行以下操作:

  • 导入后保存导入的值和变量标签
  • 操作后重新应用保存的标签
  • 必要的命令包括:

    var_lab()#读取和设置变量标签
    val_lab()#读取和设置值标签
    可变标签