如何为两个分类变量创建列联表(交叉表?)>

问题描述 投票:0回答:1

WHO DownSyndrome数据库为您提供了有关不同变量的1M婴儿中出生的唐氏综合症婴儿数量的信息。

我想为分类变量CountryYear创建一个具有绝对,相对和边际频率的交叉表>

期望结果看起来像:


Year    |      1978           1979            1980      
Country |   ----------------------------------------------------------------------     
ALB     |      76.4             78.5              87.6            ...
AUT     |      87.6             67.9              80.0            …
AZE     |      90.5             78.5              64.8            …

我尝试了几件事:

首先,为三个变量创建一个新的df:

DS <- dplyr::select(DownSyndrome, YEAR, COUNTRY_REGION, VALUE)

但是我不知道如何使用表格,并以此交叉功能。

我设法获得了绝对频率:


DS_wide <- DownSyndrome %>%
  pivot_wider(
    names_from = YEAR,
    values_from = VALUE)

但是话又说回来,我不知道如何从这里获得相对频率和裕度频率。

任何帮助,谢谢

PS:

Link to the database

Image of the data

WHO DownSyndrome数据库为您提供了有关不同变量的1M婴儿中出生的唐氏综合症婴儿数量的信息。我想使用绝对,相对和...

创建交叉表。...>
r frequency
1个回答
0
投票

这里是dplyr方法。

第一行根据您的代码将长格式转换为宽格式。第二行根据名称与4个数字的模式匹配的所有列计算总计。第三行计算每个国家的相对总数。第四行将所有具有4个数字的列除以总数列,并将它们分配给后缀为_RELATIVE的列。

© www.soinside.com 2019 - 2024. All rights reserved.