R

时间:2018-02-27 15:59:52

标签: r bar-chart lattice survey contingency

我正在处理班级survey.design2survey.design的加权调查数据。使用包survey和函数调用svytable,我可以为调查数据创建列联表。通过这些列联表,我可以使用lattice创建正常的条形图。执行此操作的标准方法(例如barchart(cars ~ mpg | factor(cyl), data=mtcars,...))对此数据类型不起作用。

我习惯使用ggplot2,并且想要创建堆叠或分组的条形图,如果可能的话甚至可以使用facet-wraps。不幸的是,ggplot2也不知道如何处理survey.design2类型的数据。就我而言,也不存在某种附加组件,这将允许ggplot2处理这种数据。

到目前为止,我有:

  1. 子设置我的数据集
  2. 使用函数call survey.design2
  3. 将其转换为类svydesign()
  4. 使用grid.arrange()在一个窗口中绘制了多个条形图。这种方法可以解决方面的问题,但仍然不允许我创建堆叠或分组的条形图。
  5. 我很感激任何建议。 谢谢

1 个答案:

答案 0 :(得分:0)

早上好MatthewR

我有一个包含62732个观测值和691个变量的数据集。 Original Data Set 因此,我猜任何基于随机数生成器的示例都应该可以正常工作。我真的只是想解决这个问题,不一定是最终的代码。

然后我使用以下方法将数据框转换为survey.design格式: df_Survey< - svydesign(id = ~1,weights = ~IXPXHJ,data = df)。 IXPXHJ是一个变量,通过该变量对原始样本数据集进行加权,以获得整个总体。 head(df $ IXPXHJ)看起来像这样:

87.70876
78.51809
91.95209
94.38899 105.32005
56.30210

str(df_Survey)看起来像这样。 Survey Data Structure