r - 转置数据框
问题描述
我有一个这样的数据框:
df = data.frame (Gender = c ("F", "M", "M", "F"),
cat_age = c ("] 10-15]", "] 10, 15]", "] 20 -25] ","] 55-60] "),
frequency = c (2, 6, 8, 7))
我想把它改成这样:
F; M; cat_age
2; 6; ] 10, 15]
0; 8; ] 20, 25]
7; 0; ] 55, 60]
解决方案
您的 data.frame 有一些奇怪的地方,如果"] 10-15]"
并且"] 10, 15]"
应该是同一类别,您需要在 data.frame 中进行设置。例如:
df = data.frame (Gender = c ("F", "M", "M", "F"),
cat_age = c ("] 10-15]", "] 10-15]", "] 20 -25] ","] 55-60] "), frequency = c (2, 6, 8, 7))
然后你可以使用pivot_wider()
from tidyr
:
library(tidyr)
pivot_wider(df,values_from=frequency,names_from=Gender,values_fill=0)
# A tibble: 3 x 3
cat_age F M
<fct> <dbl> <dbl>
1 "] 10-15]" 2 6
2 "] 20 -25] " 0 8
3 "] 55-60] " 7 0
推荐阅读
- sql - 如何将时间戳数据添加到 PostgreSQL 表中?
- ios - SwiftUI:整个屏幕的背景颜色而不是简单的视图?
- mysql - 数据库设计 - 如何以独特的方式将一个表与其他两个表关联起来?
- php - PHP Laravel,方法 updateOrCreate 的替换
- php - socket.io laravel echo 在 ubuntu 的生产环境中不起作用
- mysql - Mysql复杂的嵌套视图值
- jquery - 提取 JSON 数据时控制台中出现未定义错误
- python - 如何使用此 Python 脚本中的函数?
- android - 如何在膨胀布局时循环数据?
- python - 循环中创建的字典值被覆盖