Значения> = 10 в приведенном ниже кадре данных (значения 31,89,12,69) иногда имеют порядок, подобный 89 и 12. Под этим я имею в виду порядок 123456789, они смежны друг с другом. Я хотел бы сделать значения, которые не являются смежными друг с другом (31,69, в 31 nr 2 отсутствует между, чтобы быть в порядке, для 69, nr 7 и 8 отсутствуют в порядке) NA. Как закодировать это? Вообразите большой набор данных! :)
id <- factor(rep(letters[1:2], each=5))
A <- c(1,2,NA,67,8,9,0,6,7,9)
B <- c(5,6,31,9,8,1,NA,9,7,4)
C <- c(2,3,5,NA,NA,2,7,6,4,6)
D <- c(6,5,89,3,2,9,NA,12,69,8)
df <- data.frame(id, A, B,C,D)
df
id A B C D
1 a 1 5 2 6
2 a 2 6 3 5
3 a NA 31 5 89
4 a 67 9 NA 3
5 a 8 8 NA 2
6 b 9 1 2 9
7 b 0 NA 7 NA
8 b 6 9 6 12
9 b 7 7 4 69
10 b 9 4 6 8
Это должно выглядеть так:
id A B C D
1 a 1 5 2 6
2 a 2 6 3 5
3 a NA NA 5 89
4 a 67 9 NA 3
5 a 8 8 NA 2
6 b 9 1 2 9
7 b 0 NA 7 NA
8 b 6 9 6 12
9 b 7 7 4 NA
10 b 9 4 6 8