0

我是 quanteda 的新手,在导出文档时遇到问题。我正在比较两个文档,“dfm_latam”,具有超过 27k 的观察值,以及“dfm_cosines”,它由两个带有文本的语料库组成,要与 dfm_latam 数据库的 27k 个观察值中的每一个进行比较。

corpus_cosine_2 <- corpus(cosine_2_pdf)
corpus_cosines <- corpus_cosine_1 + corpus_cosine_2 
dfm_cosines <- dfm(corpus_cosines, case_insensitive = TRUE)


corpus_latam <- corpus(latam_review)
docvars(corpus_latam, "Text") <- names(corpus_latam$text)
dfm_latam <- dfm(corpus_latam, case_insensitive = TRUE)


simil_latam <- textstat_simil(dfm_latam, dfm_cosines, method = "cosine", margin = "documents", case_insensitive = TRUE)
view(simil_latam)

R 中的 view() 函数为我提供了前 1000 行,一切都很好。dfm_cosines 中的两个数值变量都出现了。但是,当我尝试将其导出为 Excel 文档时,输出看起来与 view() 1000 行预览完全不同。缺少其中一个变量,.xlsx 输出仅显示“corpus_cosine_1”的结果。dfm "dfm_cosines" 在 "corpus_cosine_1" 和 "corpus_cosine_2" 之后生成。为什么导出时会出现这种情况?

openxlsx::write.xlsx(simil_latam, file = "F:\\path\\simil_latam.xlsx")

所以,我尝试与 view() 函数一起导出:

openxlsx::write.xlsx(view(simil_latam), file = "F:\\path\\simil_latam.xlsx")

对于这个 write.xlsx(view()),显示的变量恰到好处,但我只导出了 27.000+ 个观察值中的 1.000 个。如何自动导出表的所有观察结果并显示所有变量?

4

1 回答 1

0

您需要将 textstat_simil 对象转换为更像电子表格的对象。尝试

as.matrix(simil_latam)

在您打电话之前,write.xlsx()或者如果您更喜欢这种格式,

as.data.frame(simil_latam)

我建议您在导出它们之前检查这两个强制对象,并查看这些方法中每一个的帮助函数(在quanteda.textstats包中找到)。

于 2021-10-30T08:13:13.877 回答