【发布时间】:2020-08-13 01:51:11
【问题描述】:
我正在尝试将代表两个城镇内每种家庭组成类型百分比的宽表操作为长表(基本上是数据透视表的反面)。
在长表中,我希望每一行代表一个家庭的家庭组成值。因此,每个组合的行数取决于提供的值,例如18 行 (town.a, singles), 8 行 (town.b, singles 等)。但是,我似乎无法根据每个 Town 列中的值来弄清楚如何进行这种扩展。
我有一个如下所示的 data.frame():
household.data <- data.frame(household.composition= c("Singles","Couples", "Families", "Single Parents", "Sharers"),
town.a =c(18,29,41,3,3),
town.b =c(8,37,48,9,3))
A 镇 和B 镇 列下的值代表每个镇内每个家庭组成的百分比。
我们的目标是从这种宽泛的汇总格式转换为长格式,该格式将 Household Composition 列中的值乘以 A 镇 和 中的数值em>Town B 列。因此,每一行将代表一个家庭的家庭组成值。例如:
再次,我知道必须有一种方法可以使用 tidyR 中的 spread/gather 或 pivot 函数来做到这一点。但是,鉴于我希望行数与百分比值相对应,我似乎无法弄清楚如何进行此扩展。
【问题讨论】:
-
您是否希望有例如 18 行 (town.a, singles), 8 行 (town.b, singles 等?所以,每个组合的行数取决于提供的值?
-
嗨,是的,这正是我所追求的! :)
标签: r dplyr pivot-table tidyverse tidyr