Я получил две колонки, которые в соответствии с:Определить и заменить дубликат из вектора столбца
a<- c(1,1,1,2,3,2,2,2,2,1,0,0,0,0,2,3,4,4,1,1)
date<- Sys.Date()-20:1
data<- xts(a,date)
colnames(data)<- "a"
data
Здесь мы можем видеть, что есть много повторяющихся элементов, то есть. они повторяются. Я хочу код, который может заменить все элементы, которые являются последовательными и дублируются на 0, за исключением первого элемента. Результат, который я требую
a<- c(1,0,0,2,3,2,0,0,0,1,0,0,0,0,2,3,4,0,1,0)
Я попробовал то, что я узнал от моего предыдущего поста
ifelse(data$a == c(data$a[1]-1,data$a[(1:length(data$a)-1)]) , 0 , data$a)
, а также я попытался
data$a<- replace(data$a, duplicated(c(0, cumsum(abs(diff(data$a))))), 0)
но оба коды не работают в xts. Хотя оба вышеуказанных кода работают для нормального вектора.
Да, это тот же вопрос, но это было для вектора, и здесь мне нужно это для xts. –
Итак, научитесь использовать данные в разных структурах данных. Вы задаете тот же вопрос. –
ОК, я постараюсь сделать это. –