R-保存加权调查作为数据框架



我想分析过去用SPSS软件分析的调查。调查具有重量变量。

在spss中,很容易通过变量(带有"重量"功能),但是我在使用r。

的情况下有问题

我使用surgay包包括重量变量。我将在这里显示一个更简单的示例:

    Data <- data.frame(
    X =c(1,4,6,4,1,7,3,2,2),
    Y = c(6,5,9,9,43,65,45,67,90),
    weight=c(0.1,1.2,4,0,0,5,0.65,1,0)
    )
    summary(Data )
      X               Y             weight     
 Min.   :1.000   Min.   : 5.00   Min.   :0.000
 1st Qu.:2.000   1st Qu.: 9.00   1st Qu.:0.000
 Median :3.000   Median :43.00   Median :0.650
 Mean   :3.333   Mean   :37.67   Mean   :1.328
 3rd Qu.:4.000   3rd Qu.:65.00   3rd Qu.:1.200
 Max.   :7.000   Max.   :90.00   Max.   :5.000
    library(survey)
    dat_weight=svydesign(ids = ~1, data = Data , weights = Data $weight)

现在,我想将此对象(dat_weight)保存为简单的数据框架,并将其用于其他分析(例如PCA,CA等)。

可以完成吗?

我遇到了同样的问题,直到找到一个非常简单的解决方案。您可以使用save()函数将R对象保存到具有扩展.RData的特定文件中。完成此操作后,您可以使用load()函数读回对象,而无需将其分配给任何内容,因为保存后它将分配给其原始名称。

请参见以下示例:

Data <- data.frame(
    X =c(1,4,6,4,1,7,3,2,2),
    Y = c(6,5,9,9,43,65,45,67,90),
    weight=c(0.1,1.2,4,0,0,5,0.65,1,0)
)
dat_weight <- survey::svydesign(ids = ~1, data = Data, weights = Data$weight)
save(dat_weight, file = "~/weighted_data.RData")
# clean environment
rm(list = ls())
load("~/weighted_data.RData")

下次您不必在数据集上施加权重,而是直接潜入分析。

最新更新