gpt4 book ai didi

r - 获取另一个向量中数字的索引

转载 作者:行者123 更新时间:2023-12-03 09:34:24 26 4
gpt4 key购买 nike

假设我们有以下 vector :

v <- c(2,2,3,5,8,0,32,1,3,12,5,2,3,5,8,33,1)

给定一个数字序列,例如 c(2,3,5,8),我试图找到这个数字序列在 vector v中的位置。我期望的结果是这样的:
FALSE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE FALSE 

我正在尝试使用 which(v == c(2,3,5,8)),但它没有给我我想要的东西。

预先感谢。

最佳答案

使用base R,您可以执行以下操作:

v <- c(2,2,3,5,8,0,32,1,3,12,5,2,3,5,8,33,1)
x <- c(2,3,5,8)

idx <- which(v == x[1])
idx[sapply(idx, function(i) all(v[i:(i+(length(x)-1))] == x))]
# [1] 2 12

这告诉您确切的序列出现了两次,从 vector v的位置2和12开始。

它首先检查可能的起始位置,即 v等于 x的第一个值,然后循环遍历这些位置以检查这些位置之后的值是否也等于 x的其他值。

关于r - 获取另一个向量中数字的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48660606/

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