我有一个歌词的csv数据文件,其中每一行都是一个句子。我可以阅读它并使用unnest_tokens函数将数据帧分解为一个新的数据框,其中每一行都是一个单词。现在我试图只标记化数据帧的前几行而不是整个事物。所以,我以为我可以使用索引创建一个新子帧,然后使用相同的函数,但没有运气:
#Works on the whole dataframe
library(dplyr)
library(tokenizers)
library(tidytext)
biggie <- read.csv("C:/Users/First.Last/Desktop/biggie.csv", stringsAsFactors=FALSE)
colnames(biggie)[1] <- 'biggie'
bigsplit <- biggie %>%
unnest_tokens(word, biggie)
起初我认为问题在于索引将原始数据框从列表更改为字符。所以,我添加了一个额外的步骤来将子集转回数据帧。当我用typeof()测试对象类型时,它们都作为列表返回,所以我认为当我通过unnest_tokens行运行它时它会起作用。但是,当我运行这些行时,我收到此错误:
check_input(x)出错: 输入必须是任何长度的字符向量或字符列表 向量,每个向量的长度为1.
#Here is where it breaks
bigtest <- biggie[1:10,]
bigtest <- data.frame(bigtest)
colnames(bigtest) <- 'biggie'
bigind <- bigtest %>%
unnest_tokens(word, 'biggie')
我真的很难过这里的问题。在我相对有限的知识中,这似乎应该可以正常工作。我喜欢任何人可能提出的任何意见。
summary(bigtest)