首页 > 解决方案 > 标记歌词数据框

问题描述

我有一个歌词的 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)

最大的总结

标签: rnlptokentokenize

解决方案


推荐阅读