![](/img/trans.png)
[英]How to count number of characters in a decimal (including . and trailing zeros) using R
[英]Using cumsum() in R to count number of zeros instead of 1's
有沒有一種方法可以在R中使用cumsum()來計數零而不是1的數量? 基本上,我只有一個0和1的列表,每次遇到0時,我都希望保留它們的數量,而不是1。
我們創建一個邏輯索引,其中vector
('v1')的值為0('i1')。 用索引對向量進行cumsum
,將其取反以將值0轉換為TRUE,進行cumsum
並通過將輸出分配回去來更新原始向量。
i1 <- !v1
v1[i1] <- cumsum(!v1[i1])
v1
#[1] 1 1 1 2 1 3 1 4
如果我們需要分別計算相鄰的0,即
library(data.table)
ave(v1, rleid(v1), FUN= function(x) if(all(!x)) seq_along(x) else x)
#[1] 1 1 1 2 1 1 1 1
v1 <- c(1, 1, 0, 0, 1, 0, 1, 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.