gpt4 book ai didi

r - 在R中的数组中连续查找相同元素的索引

转载 作者:行者123 更新时间:2023-12-04 14:50:34 24 4
gpt4 key购买 nike

我怎样才能得到这个数组:

a <- c(1,2,3,30,30,30,30,30,2,2,3,3,3,30)

一个输出,其中包含有关出现相同元素的索引的信息。所以我想要 [30, 5, 4] 或不同顺序的输出,其中 5 是 30 的连续计数,4 是计数开始的索引。请注意,此输出中无法识别数组中的最后 30 个。谢谢!

最佳答案

a <- c(1,2,3,30,30,30,30,30,2,2,3,3,3,30)
vec <- unique(a)
indeX=c()
counT <- c()
count=1
valuE<- c()
for (m in 1:(length(a)-1)) {

if (a[m]==a[m+1]) {
value <- a[m]
count=count+1
}else{
if (count>1) {
indeX[m] <-m-count+1
counT[m] <- count
valuE[m] <- value
}
count=1
}



}


indeX <- as.vector(na.omit(indeX))
counT <- as.vector(na.omit(counT))
valuE <- as.vector(na.omit(valuE))
list=list()
for (k in 1:length(indeX)) {
list[[k]] <-c(valuE[k],counT[k],indeX[k])
}

输出

> list
[[1]]
[1] 30 5 4

[[2]]
[1] 2 2 9

[[3]]
[1] 3 3 11

关于r - 在R中的数组中连续查找相同元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69131010/

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