繁体   English   中英

在r的整个循环中附加txt文件-然后使用tm包将该txt文件读入语料库

[英]Append txt file throughout loop in r - then read that txt file into a corpus with the tm package

问题:我有一个循环,可以从网页上下载句子,并且每次迭代都将其添加到不断增长的字符向量中。

从概念上讲,输出如下所示:

myVec

[1] "bla"                                                                                                                                                                                                         
[2] "blablabla"                                                                                        
[3] "blabla"                                                                                                                                                                                                                                 
[4] " blablablablabla"

等等…

每个数字代表我下载的一个句子。 对于每次迭代,循环都会在向量中附加更多的句子。

但是,与其将结果放入向量中,不如将其保存到一个不断增长的txt文件中。 原因是我需要下载的数据量很大。 因此,我需要让循环运行一段时间(1000次迭代),然后稍作休息-然后第二天再次运行它。

我希望txt文件具有某种结构-以便仍可以按句子轻松拆分它。 这是因为以后我想用每个句子作为一个单独的文档创建一个DTM。

所以我需要

1:一种写入文件的方法,可以在整个循环中附加新的句子。

2:一种使用tm包读取该文件的方法,以便以后可以根据下载的句子创建DTM。

我尝试过的

我最想要的就是使用write.table()函数。

write.table(MyVec, file = "output.txt",row.names=FALSE, col.names = FALSE, append= TRUE)

这似乎给了我一个文本,句子之间用引号引起来:“ bla”“ blablabla”“ Blabla”等。

但是我不知道如何在将其读入带有tm的语料库时利用它-以便稍后基于句子创建DTM。 也许有更好的方法?

我也尝试过write()函数:

write(MyVec, file="output.txt",append=TRUE)

这给了我一个不断增长的txt文件,但似乎并没有把句子分开。 我不知道如何将其读入语料库并基于句子创建DTM。

我考虑过writeLines(),但是似乎没有append选项,无论如何:我不想将文本分成几行。 我只想分开句子。

一种方法是将句子列表存储(或加载)为数据框,然后使用tm()将其解析为矢量源。

library(tm)

Sentences <- c("First Sentence BLA", "Second Sentence BLA BLA", "Nth Sentence [...] Bla^n")
SentencesDF <- as.data.frame(Sentences)
Corpus <- VectorSource(SentencesDF)

在前面的示例中,您无需将“句子”向量写入txt或cvs即可获得语料库。 如果由于其他原因您仍然需要这样做,只需运行:

write.csv(SentencesDF, file = "NameofFile.csv")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM