Подмножество строк, основанных на строках "start and stop" - PullRequest
0 голосов
/ 10 декабря 2018

ищет написать скрипт R, который будет искать в столбце определенное значение и начинать подстановку строк, пока не будет достигнуто определенное текстовое значение.

Пример:

    X1  X2 
[1,] "a" "1"
[2,] "b" "2"
[3,] "c" "3"
[4,] "d" "4"
[5,] "e" "5"
[6,] "f" "6"
[7,] "c" "7"
[8,] "k" "8"

Что яхотелось бы выполнить поиск по X1 до тех пор, пока не будет найдена буква 'c', и начать поднабор строк до тех пор, пока не будет найдена другая буква 'c', после чего процедура подмножества будет остановлена.Используя приведенный выше пример, результатом должен быть вектор, содержащий c(3,4,5,6,7).

Предположим, что будет не более 2 строк, в которых X1 равно 'c'

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 10 декабря 2018

Вы можете искать, где значение с помощью функции which, и использовать это как в индексе, чтобы получить значения, которые вы ищете.Если вы хотите все от первого до второго «с», это будет выглядеть так:

indices <- which(df$X1=='c')
range <- indices[1]:indices[2]
df$X2[range]
...