【发布时间】:2015-03-12 12:50:56
【问题描述】:
数据集将个案作为行。每个病例都有一天的执行时间和执行它的手术室。它也有开始和结束时间。如果特定手术室的病例在一天之内,我需要创建一个新变量来存储订单信息。 (即,哪一个是当天的第一个病例,哪一个是最后一个病例)。我需要将此信息保存在数据集中的一个新变量中。
变量为:CASE_ID、DATE、OPER_IN_TIME、OPER_OUT_TIME、OPER_ROOM
OPER_IN_TIME 和 OPER_OUT_TIME 存储为 POSIXct。DATE 是 date 变量(格式 = %Y-%m-%d)。OPER_ROOM 是 integer。
我发现使用dplyr命令,一天之内就可以在一间手术室拿到病例顺序:
dataset %>%
filter(DATE == "2014-01-02", OPER_ROOM == "20") %>%
arrange(OPER_IN_TIME) %>%
mutate(ORDER = row_number())
如何构建嵌套循环来存储每个案例的信息?我还需要知道当天的最后一个案例并将该信息也存储在案例中。
编辑:dput()
structure(list(ID = 1:7, OPER_ROOM = c(13L, 12L, 13L, 12L, 13L,
12L, 13L), OPER_IN_TIME = structure(c(1388644200, 1388643300,
1388653200, 1388649600, 1388662200, 1388730600, 1388729400), class = c("POSIXct",
"POSIXt"), tzone = ""), OPER_OUT_TIME = structure(c(1388650800,
1388647200, 1388658600, 1388658300, 1388665800, 1388737800, 1388745000
), class = c("POSIXct", "POSIXt"), tzone = ""), DATE = structure(c(16072,
16072, 16072, 16072, 16072, 16073, 16073), class = "Date")), .Names = c("ID",
"OPER_ROOM", "OPER_IN_TIME", "OPER_OUT_TIME", "DATE"), row.names = c(NA,
-7L), class = "data.frame")
头()
ID OPER_ROOM OPER_IN_TIME OPER_OUT_TIME DATE
1 1 13 2014-01-02 08:30:00 2014-01-02 10:20:00 2014-01-02
2 2 12 2014-01-02 08:15:00 2014-01-02 09:20:00 2014-01-02
3 3 13 2014-01-02 11:00:00 2014-01-02 12:30:00 2014-01-02
4 4 12 2014-01-02 10:00:00 2014-01-02 12:25:00 2014-01-02
5 5 13 2014-01-02 13:30:00 2014-01-02 14:30:00 2014-01-02
6 6 12 2014-01-03 08:30:00 2014-01-03 10:30:00 2014-01-03
【问题讨论】:
-
您能
dput()您的数据(或仅head())以便我们更好地帮助您吗?