将函数应用于r中的更多n时出错

时间:2017-12-04 16:21:51

标签: r function dplyr

我写了一个函数,以日期格式模拟一些患者数据(入院日期,用药日期等)。

    dates <- function(x){

  start_date <- as.Date(sample(seq(as.Date("2016-01-01"), as.Date("2016-12-31"), 1), 1))

  end_date <- as.Date(sample(seq(start_date, start_date + 20, 1), 1))

  ab_start <- as.Date(sample(seq(start_date, start_date + 3, 1), 1))

  ab_stop <- as.Date(sample(seq(ab_start, end_date, 1), 1))

  bc_date <- as.Date(sample(seq(start_date-1, start_date + 4, 1), 1))

  a <- data_frame(adm_start_date = start_date, adm_end_date = end_date, ab_start_date = ab_start,
           ab_stop_date = ab_stop, bc_date = bc_date)

return(a)

}

这本身可以正常工作,我想通过id

将这些日期添加到现有的患者列表中
test <- data_frame(id = seq(1,10,1))

我为adm_start_dateadm_end_date尝试了这种方法:

test %>% group_by(id) %>% rowwise() %>% mutate(adm_start_date = dates()$adm_start_date, adm_end_date = dateR()$adm_end_date)

适用于test[1,],但会针对任何n&gt;抛出此错误1:

Error in mutate_impl(.data, dots) : 
  Evaluation error: wrong sign in 'by' argument.

有人知道为什么吗?很多!

0 个答案:

没有答案