фильтровать строки, в которых строка столбца начинается с определенного слова в R? «»^слово» не работает

#r

Вопрос:

список фильмов США, отфильтрованных по столбцам

 dfUSARating lt;- dfUSAMovies[, c("rowNum","title", "genre", "rating", "vote")]  

вытягивание строк жанр содержит триллер

 thrill lt;- dfUSARating %gt;% filter(str_detect(dfUSARating$genre, "Thriller"))  head(dfUSARating$genre, n=3)   [1] ['Documentary', 'Comedy', 'Drama', 'Fantasy', 'Mystery',   'Sci-Fi']  [2] ['Comedy', 'Horror', 'Sci-Fi']   [3] ['Biography', 'Drama', 'Sport']   

Там повторяются жанры, я хочу отфильтровать жанр, если он начинается только с триллера, а не если строка содержит триллер. Фильмы имеют несколько жанров, и я получаю повторы.

 dput(head(dfUSARating))  structure(list(rowNum = c(6L, 7L, 8L, 12L, 13L, 15L), genre =   structure(c(869L,   752L, 638L, 130L, 229L, 910L), .Label = c("['Action',   'Adventure', 'Animation', 'Comedy']",   "['Action', 'Adventure', 'Biography', 'Drama', 'History',   'War']",   "['Action', 'Adventure', 'Biography', 'Drama', 'History']", "   ['Action', 'Adventure', 'Biography', 'History', 'Romance']",   "['Action', 'Adventure', 'Biography', 'History']", "['Action',   'Adventure', 'Comedy', 'Crime', 'Drama', 'Thriller']",   "['Comedy', 'Drama', 'Mystery']", "['Comedy', 'Drama', 'Romance',   'Fantasy']",   "['Comedy', 'Drama', 'Romance', 'Sci-Fi']", "['Comedy', 'Drama',   'Romance', 'Sport']",   "['Comedy', 'Drama', 'Romance', 'Thriller']", "['Comedy',   'Drama', 'Romance', 'War']",   "['Comedy', 'Drama', 'Romance', 'Western']", "['Comedy', 'Drama']",   "['Western']"), class = "factor"), rating = c(5.3, 4.5, 7.8,   4.8, 7.1, 7.6)), row.names = c(NA, 6L), class = "data.frame")   

Комментарии:

1. Похоже, у вас есть строки, содержащие данные JSON, поэтому ваша строка не будет начинаться с «Thriller», она будет начинаться с «[‘Thriller». Так что попробуйте filter(str_detect(genre, "\['Thriller")) (косые черты необходимы, потому что скобка является специальным символом регулярного выражения). Вы уверены, что скопировали свой dput в данный момент? Если я вставлю это в R, то, похоже, возникнут явные проблемы с цитированием, поэтому я не смогу по-настоящему протестировать код. Кроме того, действительно ли ваши данные образца содержат какие-либо строки, начинающиеся с Thriller? Не похоже, чтобы что-то подходило.

2. Да, это так, просто потребовалось начало и конец ввода, это было слишком долго, чтобы вставить все это. Я только что заметил, что ошибка будет исправлена. Попробуй это.

3. Это сработало, спасибо, мистер Клик! очень признателен.