gpt4 book ai didi

r - 确定 R 中的向量中是否有 x 个连续的重复项

转载 作者:行者123 更新时间:2023-12-04 22:11:31 24 4
gpt4 key购买 nike

我有以下向量:

p<-c(0,0,1,1,1,3,2,3,2,2,2,2)

我正在尝试编写一个函数,如果向量中有 x 个连续的重复项,则该函数返回 TRUE。

函数调用 found_duplications(p,3) 将返回 True,因为有三个连续的 1。函数调用 found_duplications(p,5) 将返回 False,因为一个数字没有 5 个连续的重复项。函数调用 found_duplications(p,4) 将返回 True,因为有四个连续的 4。

我有几个想法。有重复的()函数:
duplicated(p)
> [1] FALSE TRUE FALSE TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE

我可以创建一个 for 循环来计算向量中 TRUE 的数量,但问题是连续计数器将关闭 1。大家能想到其他解决办法吗?

最佳答案

p<-c(0,0,1,1,1,3,2,3,2,2,2,2)

find.dup <- function(x, n) {
consec <- 1
for(i in 2:length(x)) {
if(x[i] == x[i-1]) {
consec <- consec + 1
} else {
consec <- 1
}
if(consec == n)
return(TRUE) # or you could return x[i]
}
return(FALSE)
}

find.dup(p,3)
# [1] TRUE

find.dup(p,4)
# [1] TRUE

find.dup(p,5)
# [1] FALSE

关于r - 确定 R 中的向量中是否有 x 个连续的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29046017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com