簡體   English   中英

R-根據特定的匹配條件計算行數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM