提问人:Julia_MOura 提问时间:10/25/2023 更新时间:10/25/2023 访问量:22
如何按组重新组织表格和/或在当前标题上添加新标题?
How to reorganize table by group and/or add a new heading on an current heading?
问:
我有一个包含 4 列的原始 df:“Year”、“Variable”、“Frquency”和“%”。
从2011年到2022年;变量对应于年龄,并带有子分类(例如,“年龄”可以< 5 岁、5 至 10 岁和 10 岁>)。表示我的 df 是什么样子的
df 对每个年龄分类重复年份 3 次。我想重新组织我的 df,使其每年显示一次列,并将 3 个年龄分类作为行,以便最后我可以使用 KableExtra 包为我的文章构建一个好看的表格。
我尝试使用,但“频率”和“%”的值按年份分成不同的列,为我提供了两列年份:frequency_2011;%_2011.....pivot_wider()
答:
0赞
mapardo
10/25/2023
#1
您可以将 frequency 和 % 列粘贴到一列中,然后可以应用pivot_wider转换
生成随机数据帧(年份、年龄、频率、perc)
df <- data.frame(expand.grid(year=seq(2011,2022),age=c("<5","5-10",">10")),freq=sample(seq(100,500),36),perc=sample(seq(1,100),36))
粘贴 freq 和 perc 列以生成 freq.perc 列(删除 freq 和 perc 列)
df2 <- df %>% transmute(year,age,freq.perc=paste0(freq," (",perc,"%)"))
应用pivot_wider转换
df3 <- df2 %>% pivot_wider(names_from = "year",values_from = "freq.perc")
评论