tidytext ERROR! Input must be a character vector of any length or a list of character vectors, each of which has a length of 1.

內容說明

寫程式的時候是不可能沒遇到 bug 的,bug 紀錄整理

ERROR! Input must be a character vector of any length or a list of character vectors, each of which has a length of 1.

當我們在使用 tidytest 此套件中的 unnest_tokens 時遇到此問題,要怎麼解決呢?

situation 1: input 的 data 裡面的字串型態並不是 character 而是 factor

先看看你給予 unnest_tokens 的 data,然後透過 print 來查看型態,如果有查看到關於型態為 factor 而不是 character 且這是你需要使用 unnest_tokens 的 data,強烈建議先將他轉成 character,再重跑一次 unnest_tokens,這樣或許能夠解決問題。

1
2
xDomino.Title <- tibble(line=1:nrow(x.Domino),text = as.character(x.Domino$Title) )
xDomino.Title.word <- xDomino.Title %>% tidytext::unnest_tokens(word, text)

參考連結

How do I solve the following error?Input must be a character vector of any length or a list of character vectors, each of which has a length of 1.
Split a column into tokens using the tokenizers package

心得

有時候文章看得不夠多,真的沒有安全感呀,有時候網路充斥著太多過時訊息會使人誤解正確資訊,於是我特地寫一篇文章來增加資訊的正確程度,我也希望我這篇文章可以幫助到別人且此文章沒有錯誤,謝系大家。
P.S. 我再找這 bug 也是花了很多時間…,大概一小時,找 bug 應該可以排行在世界十大麻煩之中了 QwQ。

  • 版權聲明: 本部落格所有文章除有特別聲明外,均採用 Apache License 2.0 許可協議。轉載請註明出處!
  • © 2020-2024 John Doe
  • Powered by Hexo Theme Ayer
  • PV: UV: