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
>