【问题标题】:tm Corpus: tm_map function does not change the corpustm语料库:tm_map函数不改变语料库
【发布时间】:2017-02-21 10:48:20
【问题描述】:

我是 R 中的 tm 包的新手。我正在尝试使用 tm_map 函数创建一个文档术语矩阵,但显然传递给 tm_map(Corpus, function, lazy=TRUE) 的函数不适用于语料库。具体来说,文档不会转换为小写。 R Studio 不显示任何错误或警告。 我在这里搞砸了什么吗?这可能是一些结局问题吗?

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]]))

感谢您的建议!

【问题讨论】:

    标签: r tm


    【解决方案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]]))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      • 2021-09-28
      • 2020-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多