Czy istnieje szybszy sposób tworzenia indeksu licznika niż przy użyciu pętli? W przypadku ciągłych przebiegów o równych wartościach indeks powinien być taki sam. Uważam, że pętla jest bardzo powolna, szczególnie gdy dane są tak duże.Dodaj indeks do ciągłych przebiegów o równych wartościach
Dla ilustracji oto wejściowe i sygnał wyjściowy
x <- c(2, 3, 9, 2, 4, 4, 3, 4, 4, 5, 5, 5, 1)
pożądaną ostateczną licznik:
c(1, 2, 3, 4, 5, 5, 6, 7, 7, 8, 8, 8, 9)
Należy zauważyć, że non -contiguous biegach różne indeksów. Na przykład. zobacz pożądanych indeksy wartości 2
i 4
mój kod nieefektywne to:
group[1]<-1
counter<-1
for (i in 2:n){
if (x[i]==x[i-1]){
group[i]<-counter
}else{
counter<-counter+1
group[1]<-counter}
}
Thanks TimoSta dla edycji =) – Rens