簡體   English   中英

如何返回 R 數據框中的連續行

[英]How do I return consecutive rows in an R data frame

例如,我的數據框將有一個名為 a 的列,其編號為100, 101, 102, 104, 105, 110, 111, 112

我只想返回至少有 3 次連續數字的行

所以我的最終輸出將是具有100, 101, 102, 110, 111, 112的行

第二次更新: v1 <- c(1,2,3,4,A,b,4,10,2,3,4) v1 是 df 中的一列,並且 v1 的類實際上是使用您的方法的字符,它實際上並沒有返回我想要的結果。 你能就此提出任何建議嗎?

一種選擇是構造一個帶有diffsplit的邏輯向量並獲取length 3 或更大的元素

lst1 <- split(v1, cumsum(c(TRUE, diff(v1) != 1)))
unname(unlist(lst1[lengths(lst1) >= 3]))
#[1] 100 101 102 110 111 112

數據

v1 <- c(100, 101, 102, 104, 105, 110, 111, 112)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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