Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在R中逐月查找相同的值?_R_Date - Fatal编程技术网

有没有办法在R中逐月查找相同的值?

有没有办法在R中逐月查找相同的值?,r,date,R,Date,我将从显示数据帧的一部分开始 因此,我为每位患者提供了分子组合,他开始治疗的日期和他/她完成治疗的理论日期 我需要做的是标记/让患者在相同的分子组合下至少连续六个月。 我已经找到了一种方法,可以创建到日期之间的日期序列,并用它创建一个新的df。但是我不知道最后一部分是如何让患者使用R连续六个月接受相同的治疗 提前感谢您的帮助。以下是解决您问题的尝试。然而,我认为使用apply函数是可能的,但我还没有找到它 library(lubridate) df = data.frame(id = c(1,

我将从显示数据帧的一部分开始

因此,我为每位患者提供了分子组合,他开始治疗的日期和他/她完成治疗的理论日期

我需要做的是标记/让患者在相同的分子组合下至少连续六个月。 我已经找到了一种方法,可以创建到日期之间的日期序列,并用它创建一个新的df。但是我不知道最后一部分是如何让患者使用R连续六个月接受相同的治疗


提前感谢您的帮助。

以下是解决您问题的尝试。然而,我认为使用
apply
函数是可能的,但我还没有找到它

library(lubridate)
df = data.frame(id = c(1,2), traitement = c("A+B+C","D+E"),
                begin =  c('01/03/2012','01/01/2012'),
                end =  c('05/06/2012','05/07/2012'),
                stringsAsFactors = FALSE)
df$begin = dmy(df$begin)
df$end = dmy(df$end)
df$time = 0
df$toolong = FALSE

for(i in 1:nrow(df)){
  df$time[i] = month(as.period(interval(df$begin[i],df$end[i]))) # compute the number of months
  if(df$time[i] >= 6){df$toolong[i] = TRUE} # flag with true patient you use medication for too long
}
df

您好,戈瓦钦,非常感谢您提出的解决方案。这确实是一个好主意。如果我希望开始和结束是每个患者和分子组合的开始和结束日期的最小值,结束是每个患者和分子组合的结束日期的最大值(如果你明白我的意思,请分组)。对不起,我不太理解你关于
min
max
的第二个问题。您要按哪个列分组?分子组合还是时间?如果我的答案适合你的问题,你也可以将其标记为已回答;)