我有一个数据框(02outcomes $ transfusion_date),其中有一系列看起来像这样的日期:
2020-03-28 18:01:00
2020-03-28 22:16:00
2020-04-01 19:30:00
2020-04-01 23:56:00
我想像这样为每个人分配唯一的ID:
1 2020-03-28 18:01:00
2 2020-03-28 22:16:00
3 2020-04-01 19:30:00
4 2020-04-01 23:56:00
值必须按时间顺序升序。
附带说明,当我使用dput函数查看数据时,看起来像这样吗?:1588635000、1588706160、1588714320、1588721640、1588881900
我发现了一个看似相似但无法使这些解决方案起作用的线程:Create an ID (row number) column
提前感谢
按transfusion_date
排列数据,然后可以为每行创建唯一索引。
在R底下,您可以执行:
outcomes <- outcomes[order(outcomes$transfusion_date), ]
outcomes$ID <- seq_len(nrow(outcomes))
或使用dplyr
:
library(dplyr)
outcomes %>% arrange(transfusion_date) %>% mutate(Id = row_number())
您可以使用dplyr
library(tidyverse)
library(lubridate)
testing <- data.frame(dates = c(ymd_hms("2020-03-28 18:01:00"),
ymd_hms("2020-03-28 22:16:00"),
ymd_hms("2020-04-01 19:30:00"),
ymd_hms("2020-04-01 23:56:00")))
testing %>%
arrange(dates) %>%
mutate(ids = row_number())