【发布时间】:2016-04-13 11:31:15
【问题描述】:
我有如下数据集
patient number drugtype date date - 1 year date + 1 year
11 G5 1/1/15 1/1/14 1/1/16
16 G5 5/4/13 5/4/12 5/4/14
19 R6 2/1/12 2/1/11 2/1/13
11 G5 7/4/14 7/4/13 7/4/15
19 R6 4/6/11 4/6/10 4/6/12
16 G5 3/2/12 3/2/11 3/2/13
32 G5 2/4/14 2/4/13 2/4/15
11 G5 1/1/10 1/1/9 1/1/11
16 G5 1/4/15 1/3/14 1/4/16
11 G5 31/12/15 31/12/14 31/12/16
我试图找出在服用药物后一年内为特定患者开药的次数,最终得到如下表格:
patient number drugtype date date - 1 year date + 1 year number of prescriptions within year
11 G5 1/1/15 1/1/14 1/1/16 3
16 G5 5/4/13 5/4/12 5/4/14 1
19 R6 2/1/12 2/1/11 2/1/13 2
11 G5 7/4/14 7/4/13 7/4/15 2
19 R6 4/6/11 4/6/10 4/6/12 2
16 G5 3/2/12 3/2/11 3/2/13 1
32 G5 2/4/14 2/4/13 2/4/15 1
11 G5 1/1/10 1/1/9 1/1/11 1
16 G5 1/4/15 1/3/14 1/4/16 1
11 G5 31/12/15 31/12/14 31/12/16 2
所以从逻辑上讲,我需要循环遍历 numberofprescriptionswithinayear <- ifelse(patient number=x & drugtype=y & date > date-1year & date+1year, 1, 0) 和 sum 所在的行。
是否有更简单的循环方式,因为我还需要添加其他变量,例如一年内 G5 的处方数,以及一年内 R6 的处方数。
我最初计算的处方数量有误。它的计算方式是在实际日期前后一年是否开出了多少其他处方(介于正一和负一之间) - 抱歉有任何不清楚的地方。
【问题讨论】:
-
我不明白你的决赛桌。 11 号患者在 2015 年 1 月 1 日、2014 年 7 月 4 日、10 年 1 月 1 日和 15 年 12 月 31 日接受了 G5。您分别计算这些时间点的 3、2、1、1。请详细说明您的计算。
-
请提供一个可重现的例子,这几乎不足以进行有意义的工作。
-
澄清和更正的计算
标签: r