[英]R - Count number of rows based on specific matching criteria
我有一個data.frame,我希望在匹配設置的標准(匹配變量)后,在單獨的列數1,2,3,4,5,6,7等中……在滿足條件之后,它應繼續計數,直到出現下一場比賽為止。
如果我設置:
符合<-<-1.0
以下data.frame是輸出示例:
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
在第3行中,匹配項低於-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)[[“ lengths”]],seq_len)))do.call(c,lapply (rle(new.df $ sig_long <-1)[[“” lengths“]],seq_len)):'what'必須是函數或字符串
這樣的事情,
set.seed(123)
x <- runif(20,-2,1)
cbind(x, n = do.call(c, lapply(rle(x < -1)[["lengths"]], seq_len)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.