我有一个数据框,其中包含性别列和年龄组列上的事务聚合,我想将性别类别设置为两列(女性,男性),行标签是年龄组。
我通过这段代码做到了:
df_1 <- OrPatientTotals %>%
filter(DomainID==1) %>%
group_by(DisplayEn, GenderEn) %>%
summarise(SumTransactions = sum(TotalTransactions))
使用
tidyr包中的
pivot_wider()
:
library(tidyverse)
DisplayEn <- c(1, 1, 2, 2, 3, 3)
GenderEn <- c('Female', 'Male', 'Female', 'Male', 'Female', 'Male')
SumT <- c(3770, 8149, 11201, 23232, 18948, 32615)
data <- tibble(DisplayEn = DisplayEn,
GenderEn = GenderEn,
SumT = SumT)
data |>
pivot_wider(names_from = GenderEn, values_from = SumT) |>
mutate(Sum = Female + Male)