R 取消将quanteda tokens对象中的所有项列在数据框中

R 取消将quanteda tokens对象中的所有项列在数据框中,r,quanteda,R,Quanteda,我尝试使用以下方法取消它的列表: data.frame(id = c(1,2), text = c("loving", "hating teach") 可以按如下方式提取文本数据 unlist(myDfm$text[1:length(myDfm)]) 以下是方法: data.frame( id=顺时针方向(myDfm), text=sapply(myDfm,粘贴,折叠=”), row.names=NULL ) ##id文本 ##1.爱 ##2.仇恨教育 请注意,您的myDfm是一个令牌对象

我尝试使用以下方法取消它的列表:

data.frame(id = c(1,2), text = c("loving", "hating teach")

可以按如下方式提取文本数据

unlist(myDfm$text[1:length(myDfm)])
以下是方法:

data.frame(
id=顺时针方向(myDfm),
text=sapply(myDfm,粘贴,折叠=”),
row.names=NULL
)
##id文本
##1.爱
##2.仇恨教育

请注意,您的
myDfm
是一个令牌对象,而不是dfm。

谢谢。如何才能使用此选项data.frame(id=df$id,text=unlist(myDfm))而不在数据中接收类似于
错误的错误。frame(id=df$id,text=unlist(myDfm)):参数表示行数不同:2,3
@Nathalie-如果在
data.frame()函数前面打印
df$id
会发生什么?它包含多少元素?错误消息表明
df$id
有3个元素。如果我在R脚本中添加
data.frame(id=df$id,text=unlist(myDfm))
作为下一行代码,它就可以正常工作。
unlist(myDfm$text[1:length(myDfm)])
library(quanteda)
library(tidyr)
df <- data.frame(id = c(1,2), text = c("I am loving it", "I am hating it but I go"), stringsAsFactors = FALSE)

myDfm <- df$text %>%
     tokens(remove_punct = TRUE, remove_numbers = TRUE, remove_symbols = TRUE) %>%
     tokens_remove(pattern = c(stopwords(source = "smart")))

data.frame(id = 1:length(myDfm),text = unlist(myDfm))
> data.frame(id = 1:length(myDfm),text = unlist(myDfm))
      id   text
text1  1 loving
text2  2 hating
>