i我处理了我从承包商那里获得的调查数据(加权)。但是有时我需要与他们提供的那些交叉选项卡。我目前没有任何软件的预算,所以我 喜欢尝试使用r.
我是R的真正初学者,但这是花时间熟悉的好借口。有人可以向我介绍一个真正的基本指南,以从SAV文件中使用加权调查数据制作Crosstab?
我试图发布到目前为止我所做的事情,但它认为我正在以错误的格式键入代码,所以我会尽力而为。
i我将其加载为SAV文件。我需要标签,否则我有这个表(性别)
1 2 3
571 561 1
我检查了让我到
的属性label
[1] "S2. Gender."
format.spss
:
[1] "F1.0"
[1] "haven_labelled" "vctrs_vctr" "double"
标签
Male Female Other
1 2 3
Prefer not to say
4
我已经将原件更改为因素并完成了crosstable,但这比我想要的要长得多。i我尝试了性别的表(我转换为因子)和一个我随机选择的输出变量,然后得到了这个
1 2 3 4 5
Male 79 407 43 38 4
Female 67 396 46 41 11
Other 0 1 0 0 0`
它更接近我想要的东西,但是我需要标签。然后,我需要能够包含更多元素,沿左侧的更多元素。
请请。谢谢你
您使用R和Rstudio的免费软件。
然后安装这些软件包
Install.packages(“ Haven”)
Install.packages(“ Gmodels”)
Install.packages(“调查”)
然后加载它们
library(Haven)#读取SPSS .SAV文件library(gmodels)#创建crosstabs
library(调查)#处理加权调查数据
library(dplyr)#有助于数据格式化
然后只加载您的调查数据,您可能必须将它们转换为可读的因子lables。(这是在R中)。 data
%
mutate(across(where(is.labled), as_factor))
-------------------------------------------------------------------------------------------------------------
创建一个基本的串扰:crosstable(数据$性别,数据$ yourvariable,prop.chisq = false)
是否包括权重:通过用重量变量的实际列名代替加权设计:
设计
创建一个重量的crosstab
,使用:<- data %>SvyTable(〜性别 +您的视图,设计)
获取pefercentages而不是原始计数:
prop.table(svytable(〜性别 + yourable,design),保证金= 1)
这种方法允许您使用
重量调查数据
而无需支付SPSS或STATA(例如SPSS或Stata)的昂贵软件。这里的所有内容都是自由的,一旦设置,就可以轻松地从调查数据中生成自定义的交叉表。我从来没有做过,但是从理论上讲,这应该非常基础。