【问题标题】:R - Delete stops words in a dataframeR - 删除数据框中的单词
【发布时间】:2018-04-04 17:11:40
【问题描述】:

我正在处理文本分析。我需要数句子。我的代码是:

library(dplyr)
library(tidytext)
txt <- readLines("consolidado.txt",encoding="UTF-8")
txt = iconv(txt, to="ASCII//TRANSLIT")
text_df <- data_frame(line = 1:392, text = txt)
palabras1 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 1)
palabras2 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 2)
palabras3 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 3)
palabras4 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 4)
palabras5 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 5)
palabras6 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 6)
palabras7 <- text_df %>%   unnest_tokens(bigram, text, token = "ngrams", n = 7)

首先我将 txt 转换为数据框,然后使用 tidytext。这项工作很好,但问题是停用词。我想删除数据框中的停止词,但我不知道如何。我试图将其转换为语料库,但这种方式不起作用,因为虽然它后来消除了停用词,但它无法计算句子。

有什么方法可以删除数据框中的停用词???

谢谢

【问题讨论】:

  • stop_words 做一个anti_join

标签: r dataframe corpus stop-words


【解决方案1】:

我尝试使用 anti_join... 但我收到此错误:

by required, because the data sources have no common variables

谷歌搜索我尝试过的这个问题:

by = NULL
by = c("a" = "b")
by = c(namecolumn = namecolumn)

还有很多关于“by”的方式,但我没听懂。

最后我得到了这个解决方案:

library(tm)
library(dplyr)
library(tidytext)

txt <- readLines("consolidado.txt",encoding="UTF-8")
txt = iconv(txt, to="ASCII//TRANSLIT")
text_df <- data_frame(line = 1:392, text = txt)

text_df$text = removeWords(text_df$text, stopwords("spanish"))
text_df$text = stripWhitespace(text_df$text)

图书馆 tm 有西班牙语停用词。

我在数据框中选择带有文本的列,默认情况下,此列称为文本。后来我使用函数 removeWords 删除停用词。最后一行是删除停用词后的双空格。

感谢您的帮助。

【讨论】:

    【解决方案2】:

    R 中的大多数文本挖掘包都包含用于删除常见停用词的标准化函数。在tidytext 包中,作者包含了一个包含常见停用词的stop_words 数据集。像这样的东西应该可以解决问题:

    text_df <- data_frame(line = 1:392, text = txt) %>%
                          txt_df %>%
                          anti_join(stop_words)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 1970-01-01
      • 2014-04-03
      • 2017-01-11
      • 2017-02-17
      • 1970-01-01
      相关资源
      最近更新 更多