[英]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.