Мне нужно привести в порядок некоторые твиты, которые я добыл, чтобы применить их к графикам и другому анализу, но, похоже, у меня проблемы с пакетами tidyr и tidytext. Я не знаю, потому что я забыл назначить свой файл / данные или это из-за моих имен столбцов.
Это мой ввод:
library(readr)
library(dplyr)
library(tidytext)
library(stringr)
library(lubridate)
library(tidyr)
#load data
agriculturedata1 <- read_delim("agriculturedata1.csv",
";", escape_double = FALSE, trim_ws = TRUE)
agdt1 <- agriculturedata1
# regex for parsing tweets
replace_reg <- "https?://[^\\s]+|&|<|>|\bRT\\b"
#split into words
words <- agdt1 %>%
mutate(text = str_replace_all(text, replace_reg, "")) %>%
unnest_tokens(word, text, token = "tweets")
Мой вывод должен быть чистый текст без @, все буквы в нижнем регистре и без URL. Но я получаю это сообщение об ошибке:
+ mutate(text = str_replace_all(text, replace_reg, "")) %>%
+ unnest_tokens(word, text, token = "tweets")
Erro: Problem with `mutate()` input `text`.
x argument `str` should be a character vector (or an object coercible to)
i Input `text` is `str_replace_all(text, replace_reg, "")`.
Run `rlang::last_error()` to see where the error occurred.
> rlang::last_error()
**<error/dplyr_error>**
Problem with `mutate()` input `text`.
x argument `str` should be a character vector (or an object coercible to)
i Input `text` is `str_replace_all(text, replace_reg, "")`.
**Backtrace:**
8. dplyr::mutate(., text = str_replace_all(text, replace_reg, ""))
10. dplyr:::mutate_cols(.data, ...)
Run `rlang::last_trace()` to see the full context.
> rlang::last_trace()
**<error/dplyr_error>**
Problem with `mutate()` input `text`.
x argument `str` should be a character vector (or an object coercible to)
i Input `text` is `str_replace_all(text, replace_reg, "")`.
**Backtrace:**
x
1. \-`%>%`(...)
2. +-base::withVisible(eval(quote(`_fseq`(`_lhs`)), env, env))
3. \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
4. \-base::eval(quote(`_fseq`(`_lhs`)), env, env)
5. \-`_fseq`(`_lhs`)
6. \-magrittr::freduce(value, `_function_list`)
7. \-function_list[[i]](value)
8. +-dplyr::mutate(., text = str_replace_all(text, replace_reg, ""))
9. \-dplyr:::mutate.data.frame(...)
10. \-dplyr:::mutate_cols(.data, ...)
<parent: error/simpleError>
argument `str` should be a character vector (or an object coercible to)
>
Образец моего файла:
id X1 tweet date
1 1,27E~ 0 "The Santa Barba~ 12/06/2~
2 1,27E~ 1 "The Santa Barba~ 12/06/2~
3 1,27E~ 2 "@AnnBPissedOff ~ 12/06/2~
4 1,27E~ 3 "\x93WaterFox\x9~ 12/06/2~
5 1,27E~ 4 "Agriculture les~ 12/06/2~
6 1,27E~ 5 "@HISTORY #MenTh~ 12/06/2~
7 1,27E~ 6 "The Santa Barba~ 12/06/2~
8 1,27E~ 7 "Curious about F~ 12/06/2~
9 1,27E~ 8 "For farmers #Ag~ 12/06/2~
10 1,27E~ 9 "@ADITYA_101 @Ba~ 12/06/2~
Я новичок в R, поэтому, возможно, эту ошибку очень просто исправить и я просто не вижу, где именно это происходит! Если у кого-то есть более простой способ убрать заминированные твиты, это тоже очень приветствуется!