0
我有希望,在匹配的一组标准(匹配变量),在单独的列数1,2,3,4,5一个data.frame行数6,7等......条件满足后,应继续计数直到出现下一场比赛。的R - 计数基于特定匹配准则
如果我设置:
匹配< - < -1.0
的下面data.frame是输出的一个示例:
上3行,我们有以下的匹配roll.z.score.n3 sig.count
1 NA 0
2 NA 0
3 -1.135974424 1
4 0.193311168 2
5 0.714285714 3
6 -1.148753543 4
7 -0.942160394 5
8 0.695763683 6
9 1.140646864 7
10 0.985196899 8
11 -0.768766574 1
12 -1.011293858 2
13 -0.516703612 3
14 -1.120897077 4
15 1.091089451 5
16 0.968364052 6
17 0.872871561 7
18 1.099524999 8
19 0.918397948 9
- 1.0。所以数数众生,直到下一场比赛在第11场的-1.0以下。然后计数开始......并且它会继续这样做,直到下一场比赛低于-1.0。
任何帮助表示赞赏!
编辑:在响应于施洗
set.seed(123)
new.df$sig_long <- runif(13787,2,1)
cbind(new.df$sig_long, n = do.call(c, lapply(rle(new.df$sig_long < -1)[["lengths"]], seq_len)))
cbind(new.df $ sig_long中,n = do.call(C,lapply(RLE(new.df $ sig_long < -1)[[ “长度”],seq_len))) 错误do.call(C,lapply(RLE(new.df $ sig_long < -1)[ “长度”],seq_len)): '什么' 必须是一个函数或字符串
请问以上地方1,2,3,4,5,6等上的时间系列作为上述的每一行?我认为rle发现最长的长度? seq_along不计......我只是需要它来开始第一场比赛<-1.0计数,然后继续计数,直到下一个<-1.0 –
可以运行的代码,并看到自己,但我们不能运行你的... – baptiste
我得到错误作为我的编辑后....我会接受的答案,如果它的工作。你知道我做错了什么吗? –