有這個向量:
vector <- c("236", "234", "", "12", "24", "3")
[1] "236" "234" "" "12" "24" "3"
我想檢查每個元素中有多少個連續數字。
預期輸出:
2 3 0 2 0 0
我不知道該怎么做!
uj5u.com熱心網友回復:
一種可能的解決方案:
sapply(strsplit(vector,""),
function(x) {s <- sum(diff(as.numeric(x))==1);
if (s) {s 1} else 0})
[1] 2 3 0 2 0 0
uj5u.com熱心網友回復:
我想這可以完成作業:
vector <- c("236", "234", "", "12", "24", "3")
sapply(strsplit(vector, ""), function(x) {
r <- rle(diff(as.numeric(x) - seq(length(x))))
if(0 %in% r$values) max(r$lengths[r$values == 0]) 1 else 0
})
#> [1] 2 3 0 2 0 0
使用reprex v2.0.2創建于 2022-11-13
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/532428.html
標籤:r数字序列
上一篇:R:編碼和解碼資料?
下一篇:將字串末尾的文本移到開頭
