Как я могу маркировать текстовый столбец в R?функция unnest не работает - PullRequest
2 голосов
/ 22 сентября 2019

Я новый пользователь RБуду очень признателен, если вы сможете помочь мне с решением проблемы токенизации:

Моя задача вкратце: Я пытаюсь импортировать текстовый файл в R. Один из текстовых столбцов - заголовок,Набор данных в основном представляет собой набор новостных статей, связанных с заболеванием.

Проблема: Я много раз пытался токенизировать его, используя функцию unnest_tokens.

Это показывает мне следующие сообщения об ошибках:

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

Ошибка в unnest_tokens (word, Headline): объект 'word' не найден

library(dplyr)
library(tidytext)

DengueNews %>%
unnest_tokens(word, Headline)

Примечание: ссылка набора данных: https://drive.google.com/file/d/18VWg-2sO11GpwxMGF1UbziodoWK9B9Ru/view?usp=sharing Я следую инструкциям https://www.tidytextmining.com/tidytext.html

1 Ответ

0 голосов
/ 22 сентября 2019

Не ясно, как данные были прочитаны.Как упоминалось в комментариях, если столбец данных «Заголовок» имеет класс character, он должен работать.Здесь мы используем пакет read_excl из readxl для чтения набора данных.По умолчанию столбцы character будут возвращены с атрибутом character.

library(readxl)
library(tidytext)
DengueNews <- read_excel("DengueNews.xlsx")
class(DengueNew$Headline)
#[1] "character"

DengueNews %>%
  unnest_tokens(word, Headline)
# A tibble: 217 x 4
   Serial Date  Newscontent                                                                                                                                             word      
    <dbl> <chr> <chr>                                                                                                                                                   <chr>     
 1    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… dghs      
 2    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… 491       
 3    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… more      
 4    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… hospitali…
 5    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… for       
 6    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… dengue    
 7    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… in        
 8    216 43727 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA total of 491 dengue patients have been admitted to different hospitals acro… 24hrs     
 9    215 43725 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA fifth-grader schoolgirl has died of dengue fever at Dhaka Medical College a… 1         
10    215 43725 "The unofficial death toll is reported to be over 157, so far\r\n\r\n\r\nA fifth-grader schoolgirl has died of dengue fever at Dhaka Medical College a… more      
# … with 207 more rows

Если мы изменим класс столбца на другой class factor, произойдет сбой

library(dplyr)
DengueNews %>%
   mutate(Headline = factor(Headline)) %>%
   unnest_tokens(word, Healine)
...