【发布时间】:2017-06-30 23:58:13
【问题描述】:
我有一个数据框,其中包含调查回复,每行代表不同的人。一栏——“文本”——是一个开放式文本问题。我想使用 Tidytext::unnest_tokens 以便按每一行进行文本分析,包括情感分数、字数等。
这里是这个例子的简单数据框:
Satisfaction<-c ("Satisfied","Satisfied","Dissatisfied","Satisfied","Dissatisfied")
Text<-c("I'm very satisfied with the services", "Your service providers are always late which causes me a lot of frustration", "You should improve your staff training, service providers have bad customer service","Everything is great!","Service is bad")
Gender<-c("M","M","F","M","F")
df<-data.frame(Satisfaction,Text,Gender)
然后我把 Text 列变成了字符...
df$Text<-as.character(df$Text)
接下来我按 id 列分组并嵌套数据框。
df<-df%>%mutate(id=row_number())%>%group_by(id)%>%unnest_tokens(word,Text)%>%nest(-id)
到目前为止似乎还不错,但现在我如何使用 purrr::map 函数处理嵌套列表列“word”?例如,如果我想使用 dplyr::mutate 创建一个新列,并为每行提供字数?
另外,有没有更好的方法来嵌套数据框,以便只有“文本”列是嵌套列表?
【问题讨论】:
-
不是很清楚你想要什么。无需使用
purrr::nest即可进行文本分析,只需在unnest_tokens之后停止即可。如果你只想嵌套单词列,你可以做nest(word),但要让它工作,你必须先ungroup数据框(或者首先不要按id分组)
标签: r dplyr tidyr purrr tidytext