r - 重塑包含标称数据的数据框,其中值成为列前缀
问题描述
问候同事,我正在努力解决一个基本问题,但似乎无法解决我的问题。我有一个结构如下的数据集:
Reference | Person | DOB |Status | Address
------------------------------------------------------
0001/xy | 001 |19/01/1960 | Respondent |123 Fake Street
0001/xy | 002 |01/06/1978 | Defendant |555 High Ave.
0002/xy | 001 |31/04/1988 | Respondent |432 Random Dr.
0002/xy | 002 |14/07/1991 | Defendant |666 Missing Close
0002/xy | 003 |10/10/2010 | Defendant |987 McFakerton Blvd.
0003/xy | 001 |08/02/1995 | Respondent |911 Crime Street
Reference
是“事件”的唯一键我需要的是单行宽数据集,其中要旋转的列是Status
,新列包含列值的前缀。所以它应该看起来像;
Reference | Person | Respondent1_DOB | Respondent1_Address |Defendent1_DOB | Defendent1_Address |Defendent2_DOB | Defendent2_Address
-------------------------------------------------------------------------------------------------------------------------------------
0001/xy | 001 |19/01/1960 |123 Fake Street |01/06/1978 |555 High Ave | |
0002/xy | 001 |31/04/1988 |432 Random Dr. |14/07/1991 |666 Missing Close |10/10/2010 |987 McFakerton Blvd
0003/xy | 001 |08/02/1995 |911 Crime Street | | | |
正如您所看到的,这是一项简单的任务,但我尝试过的所有重塑功能,包括tidyr
并Reshape2
继续尝试总结删除名义特征的数据,除了不为提供的值复制列标题,或者完全失败。
我目前尝试过但失败的代码包括:
Trans<-transform(reshape(Original, direction='wide',
varying=list(3,5))[-1], id=Status)
Trans<- dcast(Original, Reference ~ Status,
value.var = c("DOB","Address"))
Trans<- Original %>% pivot_wide(Reference ~ Status,names_preifx=Status )
有没有一种简单的方法可以在 R 中做到这一点?我可以在 Python 中做到这一点,但我试图坚持使用一种语言和 IDE,因为这是该组织目前所拥有的。
解决方案
您可以使用基本 rreshape
功能:
reshape(df[-4],timevar = "Person",idvar = "Reference",direction = "wide")
Reference DOB.001 Address.001 DOB.002 Address.002 DOB.003 Address.003
1 0001/xy 19/01/1960 123 Fake Street 01/06/1978 555 High Ave. <NA> <NA>
3 0002/xy 31/04/1988 432 Random Dr. 14/07/1991 666 Missing Close 10/10/2010 987 McFakerton Blvd.
6 0003/xy 08/02/1995 911 Crime Street <NA> <NA> <NA> <NA>
推荐阅读
- php - 如何在 heroku 中安装 PHP 附魔和 pspell 扩展?
- python-3.7 - 无法在 Windows 上安装 locust
- python - 将mat文件转换为pandas数据框问题
- visual-studio - 将 DLL 文件作为内容添加到资源会导致将其复制到 bin 输出文件夹并在启动时出现 BadImageFormatException
- c++ - 如果我还使用复制构造函数和重载 = 运算符,是否需要析构函数?
- powershell - 有没有办法在 Powershell 中获取重复事件的 Outlook 日历开始时间?
- javascript - 如何计算动态创建的元素内的值
- python - 如何计算已过滤的查询集中的查询数量并将该数字作为属性附加到另一个模型?
- python - 如何解决熊猫中的wide_to_long错误
- java - JVM崩溃..如何获取错误日志或核心转储