2017-02-21 52 views
0

我是新来的在R的tm包我试图创建tm_map函数的文档项矩阵,但显然传递给tm_map(Corpus, function, lazy=TRUE)函数不适用于语料库。具体而言,文件不会转换为小写。 R Studio不显示任何错误或警告。 我在这里搞乱了什么吗?这可能是一些相关的问题吗?tm语料库:tm_map函数不会更改语料库

library(tm) 
setwd("...") 

filenames <- list.files(getwd(), pattern="*.txt") 
files <- lapply(filenames, readLines) 

docs <- Corpus(VectorSource(files)) 
writeLines(as.character(docs[[30]])) 

docs <- tm_map(docs, function(x) iconv(enc2utf8(x$content), sub = ""), lazy=TRUE) 

#to lower case 
docs <- tm_map(docs, content_transformer(tolower), lazy=TRUE) 
writeLines(as.character(docs[[30]])) 

谢谢你的任何建议!

回答

1

这是一个简单的修复。在iconv(...)之前移动代码以转换为小写字母。

这工作:

library(tm) 
setwd("") 

# Read in Files 
filenames <- list.files(getwd(), pattern="*.txt") 
files <- lapply(filenames, readLines) 
docs <- Corpus(VectorSource(files)) 
writeLines(as.character(docs[[30]])) 

# Lower Case 
docs <- tm_map(docs, content_transformer(tolower), lazy=TRUE) 

# Convert 
docs <- tm_map(docs, function(x) iconv(enc2utf8(x$content), sub = "")) 
writeLines(as.character(docs[[30]])) 
+0

大,非常感谢你! – cookiedealer