почему я не могу токенизировать текстовые данные - PullRequest
1 голос
/ 12 февраля 2020

Мне нужно токенизировать текстовые данные, как показано ниже, но генерировать ошибку. Как это исправить? Спасибо!

library(readr)
europeecondata <- read_csv("C:/Users/lin/Documents/europeecondata.csv")

european_text <- data_frame(line=1:273, text=europeecondata$text)


european_text$text <- gsub("http[^[:space:]]*","",  european_text$text) # For http
european_text$text <- gsub("http[^[:space:]]*","", european_text$text) # For https


data(stop_words)
euro_tokens <- european_text$text %>%
   unnest_tokens(word, text) %>%
   anti_join(stop_words)%>%
   count(word, sort=T)

Вывод: ошибка в UseMethod ("unnest_tokens_"): нет применимого метода для unnest_tokens_, примененного к объекту класса "персонаж"

1 Ответ

0 голосов
/ 12 февраля 2020

unnest_tokens требует tbl как data.frame. В коде ОП столбец извлекается и передается как vector. Вместо этого это будет

library(tidytext)
library(dplyr)
european_text %>%
    unnest_tokens(word, text)

. В соответствии с ?unnest_tokens используется

unnest_tokens (tbl, output, input, token = "words", format = c ("текст", "человек", "латекс", "html", "xml"), to_lower = TRUE, drop = TRUE, свернуть = NULL, ...)

где

tbl - data.frame

Используя воспроизводимый пример

library(janeaustenr)
d <- tibble(txt = prideprejudice)
d$txt %>%
   unnest_tokens(word, txt)

Ошибка в UseMethod (" unnest_tokens_ "): нет применимого метода для 'unnest_tokens_', применяемого к объекту класса" персонаж "

Вместо этого, если мы сделаем

d %>%
   unnest_tokens(word, txt)
# A tibble: 122,204 x 1
#   word     
#   <chr>    
# 1 pride    
# 2 and      
# 3 prejudice
# 4 by       
# 5 jane     
# 6 austen   
# 7 chapter  
# 8 1        
# 9 it       
#10 is       
# … with 122,194 more rows
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...