我正在研究一个数据集,包括随着时间的推移对个体的重复测试结果(结果表示为阳性(1)/阴性(0));每个人的测试次数不一定相同。 下面是一个df,它重现了我的数据集的样子:
id<-c(rep("a", time=5), rep("b", time=5), rep("c",time=7))
date<-as.Date(c("2018-03-01","2018-04-01","2018-06-01","2018-08-01","2018-10-01","2017-03-01","2017-04-01","2018-02-01","2018-11-01","2018-12-01","2016-05-11","2017-10-01","2018-03-01","2018-03-21","2018-4-01","2018-07-01","2018-08-01"))
test<-c(1,1,0,1,0,0,1,0,1,1,0,0,1,0,0,1,0)
df<-data.frame(id, test, date)
df
id test date
a 1 2018-03-01
a 1 2018-04-01
a 0 2018-06-01
a 1 2018-08-01
a 0 2018-10-01
b 0 2017-03-01
b 1 2017-04-01
b 0 2018-02-01
b 1 2018-11-01
b 1 2018-12-01
c 0 2016-05-11
c 0 2017-10-01
c 1 2018-03-01
c 0 2018-03-21
c 0 2018-04-01
c 1 2018-07-01
c 0 2018-08-01
我要做的是创建一个新列'Var',指示是否有以下任何一组结果:
match1<-c(1,1,1,1)
match2<-c(1,1,1,0)
match3<-c(0,1,1,1)
match4<-c(1,0,1,1)
match5<-c(1,1,0,1)
在每个个体的结果集中观察到。理想情况下,这将导致:
id test date Var
a 1 2018-03-01 case
a 1 2018-04-01 case
a 0 2018-06-01 case
a 1 2018-08-01 case
a 0 2018-10-01 case
b 0 2017-03-01 case
b 1 2017-04-01 case
b 0 2018-02-01 case
b 1 2018-11-01 case
b 1 2018-12-01 case
c 0 2016-05-11 non-case
c 0 2017-10-01 non-case
c 1 2018-03-01 non-case
c 0 2018-03-21 non-case
c 0 2018-04-01 non-case
c 1 2018-07-01 non-case
c 0 2018-08-01 non-case
因为在'a'的结果集中观察到序列(1,1,0,1),在'b'中观察到(1,0,1,1),而在'c'中没有观察到任何目标序列”。
为不发布任何尝试而道歉,但我真的坚持这个! 最好的祝福, 利玛