r - 在 R 中转置和创建新变量
问题描述
我有一个具有以下结构的数据框:
study_id date
1 01/01/2011
2 01/01/2012
2 01/01/2013
3 01/01/2014
3 01/01/2015
3 01/01/2016
我想将数据框更改为:
study_id date_1 date_2 date_3
1 01/01/2011 NA NA
2 01/01/2012 01/01/2013 NA
3 01/01/2014 01/01/2014 01/01/2016
请注意这些日期只是示例,日期不遵循此顺序(01/01/2011 + 1 年等等)
PS:感谢网络程序员编辑我的问题。在我注意到你修复它之前我删除了。
解决方案
我们可以dcast
使用data.table
library(data.table)
dcast(setDT(df1), study_id ~ paste0("date_", rowid(study_id)), value.var = "date")
#study_id date_1 date_2 date_3
#1: 1 01/01/2011 <NA> <NA>
#2: 2 01/01/2012 01/01/2013 <NA>
#3: 3 01/01/2014 01/01/2015 01/01/2016
推荐阅读
- angular - 如何在 laravel 后端放置和部署角度前端
- google-chrome - 为什么 Chrome 检查器在 SVG 中为相同大小的元素显示不同的大小?
- python - 一对一字段抛出错误“此字段必须是唯一的。” django 休息框架
- amazon-web-services - 无法通过我的 Android Studio 项目将数据上传到我的 Parse Server
- jquery - 使用复选框过滤表格
- node.js - mac外部驱动器上的create-react-app不断刷新页面
- javascript - 如何将数据从我的 HTML/JS 程序传输到 firebase 数据库?
- python - 如何从已经存在的列表(discord.py 相关)中创建/添加到 json 对象数组?
- visual-c++ - 强制 NVCC 直接进入链接阶段
- php - 在php中每两个月更改一次日历