Если элемент не в векторе, добавьте элементы в вектор, затем снова ищите вектор - PullRequest
0 голосов
/ 18 октября 2019

На сайте есть список значений, которые я добавил в вектор. Я хочу найти этот вектор для myColor.

myColor <- "teal"
myVector <- c("blue", "red", "yellow")
match(myColor, myVector) # returns NA

Если эта функция сопоставления возвращает NA, селен будет нажимать кнопку «еще», показывая новые значения в списке. Эти новые значения будут очищены и добавлены в myVector, а затем я снова хочу выполнить поиск myColor.

myVector <- c(myVector, "black", "brown", "grey")
match(myColor, myVector) # still returns NA

Этот процесс должен повторяться до тех пор, пока myColor не будет найден в векторе (он всегда будет найден в конце концов),и функция match возвращает позицию myColor в myVector.

myVector <- c(myVector, "purple", "green", "teal")
match(myColor, myVector) # should return position of "teal"

Я предполагаю, что это будет связано с некоторым типом цикла и / или оператором if, но я не смог найти способ сделатьэто без необходимости делать это вручную.

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете попробовать следующую структуру:

myColor <- "teal"
myVector <- c("blue", "red", "yellow")
isFound <- FALSE

while (!isFound) {
    matchResult <- match(myColor, myVector)
    if(is.na(matchResult)){
        # scraping using selenium
        seleniumDriver$action
        newVec <- seleniumDriver$getVector
        # add scraped vector to myVector
        myVector <- c(myVector, newVec)
    } else {
        isFound <- TRUE
    }
}
...