我尝试预处理文本文件,然后将其导出回新的文本文件。在大多数情况下,我认为我已经相当清理,但注意到数字正被添加到数据框中。我检查了原始文件但它们不在那里,它们似乎是相同的数字模式。
library(tm)
aFile = readLines("C:/myfile.txt")
aFile = gsub('[[:digit:]]+', '', aFile)
aFile = gsub('[[:punct:]]+', '', aFile)
myCorpus <- Corpus(VectorSource(aFile))
myCorpus <- tm_map(myCorpus, tolower)
myCorpus <- tm_map(myCorpus, removePunctuation)
myCorpus <- tm_map(myCorpus, removeNumbers)
myCorpus <- tm_map(myCorpus, removeWords, stopwords("english"))
myCorpus = Corpus(VectorSource(myCorpus))
dataframe <- data.frame(text=unlist(sapply(myCorpus, `[`)), stringsAsFactors=F)
view(dataframe)
我用另一个工具删除了输出中的这些数字但是对它为什么首先被包含在内感兴趣。如果重要的话,原始文件是ANSI编码的。
答案 0 :(得分:1)
这些是行名称。如果要在写出文件时删除它们,可以使用:
write.table(dataFrame, "fileName.tbl", row.names = FALSE)
或在write.csv中使用相同的参数。当你设置rownames(dataFrame)= NULL时,当你打印data.frame时,它只是打印数字。