Я новичок в R, и у меня возникли проблемы (1) обобщение предыдущих ответов о переполнении стека в моей ситуации и (2) понимание документации на R. Поэтому я обращаюсь к этому сообществу и надеюсь, что кто-нибудь проведет меня через это.
У меня есть этот код, где data1
- текстовый файл:
data1 <- read.delim(file.choose())
pattern <- c("An Error Has Occurred!")
str_detect(data1, regex(pattern, ignore_case = FALSE))
Я вижу сообщение об ошибке:
argument is not an atomic vector; coercing[1] FALSE
Когда я использую is.vector (), чтобы подтвердить тип данных, похоже, все должно быть в порядке:
is.vector(pattern)
#this returns [1] TRUE as the output
Ссылка, которую я использовал для функции str_detect: https://www.rdocumentation.org/packages/stringr/versions/1.4.0/topics/str_detect.
Редактировать 1: Вот вывод data1
- Я пытаюсь сопоставить 4-ю до последней строки «Произошла ошибка!»:
Silk.Road.Forums
<fctr>
*
Welcome, Guest. Please login or register.
[ ] [ ] [Forever] [Login]
Login with username, password and session length
[ ] [Search]
â\200¢ Home
â\200¢ Search
â\200¢ Login
â\200¢ Register
â\200¢ Silk Road Forums
An Error Has Occurred!
The user whose profile you are trying to view does not exist.
Back
â\200¢ SMF | SMF © 2013, Simple Machines
Редактировать 2: После небольшого элементарного тестирования, похоже, проблема в том, как я открыл data1
, не обязательно str_detect()
.
Когда я просто создаю вектор, он работает:
dataVector <- c("An Error Has Occurred!", "another one")
pattern <- c("An Error Has Occurred!")
str_detect(dataVector, pattern) # returns [1] TRUE FALSE
Но когда я пытаюсь использовать функцию для файла, он не
data1 <- read.delim(file.choose())
pattern <- c("An Error Has Occurred!")
str_detect(data1, pattern) # returns the atomic vector error message`
Проблема: Так что я Я убежден, что проблема в том, что (1) я использую неправильную функцию или (2) я загружаю файл неправильно для этого типа файла. Раньше я никогда не использовал текстовые файлы в R, поэтому я немного растерялся.
Это все, что у меня есть, и заранее благодарю всех за желание помочь!