我想分析一下过去使用SPSS软件进行分析的调查 . 调查有一个权重变量 . 在SPSS中,它很容易通过变量加权(使用'weight by'函数)但是我在使用R的时候遇到了问题 . 我使用Survay包来包含权重变量 . 我将在这里展示一个更简单的例子:
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
闵 . :1.000分钟:5.00分钟:0.000
1 Qu.:2.000 1st Qu . :9.00 1st Qu.:0.000
中位数:3.000中位数:43.00中位数:0.650
平均值:3.333平均值:37.67平均值:1.328
3 Qu.:4.000 3rd Qu.:65.00 3rd Qu.:1.200
最大 . :7.000最大 . :最高90.00 :5.000
library(survey)
dat_weight=svydesign(ids = ~1, data = Data , weights = Data $weight)
现在我想将此对象(dat_weight)保存为一个简单的数据框,并将其用于其他分析(如PCA,CA等) . 可以吗?谢谢
1 回答
在我找到一个非常简单的解决方案之前,我遇到了同样的问题 . 您可以使用
save()
函数将R对象保存到扩展名为.RData
的特定文件 . 完成后,您可以使用load()
函数读回对象而不将其分配给任何内容,因为它会在您保存时分配给其原始名称 .请参阅以下示例:
下次您不必对数据集应用权重,而是直接深入分析 .