R - 删除数据框中的停用词
R - Delete stops words in a dataframe
我正在处理文本分析。我需要数句子。我的代码是:
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。这很好用,但问题是停用词。我想删除数据框中的停用词,但我不知道该怎么做。我试着把它转换成一个语料库,但是这样不行,因为虽然它后来消除了停用词,但它不能计算句子。
有什么方法可以删除数据框中的停用词吗???
谢谢
R
中的大多数文本挖掘包都包含用于删除常见停用词的标准化函数。在 tidytext
包中,作者包含一个包含常见停用词的 stop_words
数据集。这样的事情应该可以解决问题:
text_df <- data_frame(line = 1:392, text = txt) %>%
txt_df %>%
anti_join(stop_words)
我尝试使用 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 有西班牙语停用词。
我 select 我的数据框中包含文本的列,默认情况下此列称为文本。后来我使用函数 removeWords 删除停用词。最后一行是删除停用词后删除双空格。
感谢您的帮助。
我正在处理文本分析。我需要数句子。我的代码是:
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。这很好用,但问题是停用词。我想删除数据框中的停用词,但我不知道该怎么做。我试着把它转换成一个语料库,但是这样不行,因为虽然它后来消除了停用词,但它不能计算句子。
有什么方法可以删除数据框中的停用词吗???
谢谢
R
中的大多数文本挖掘包都包含用于删除常见停用词的标准化函数。在 tidytext
包中,作者包含一个包含常见停用词的 stop_words
数据集。这样的事情应该可以解决问题:
text_df <- data_frame(line = 1:392, text = txt) %>%
txt_df %>%
anti_join(stop_words)
我尝试使用 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 有西班牙语停用词。
我 select 我的数据框中包含文本的列,默认情况下此列称为文本。后来我使用函数 removeWords 删除停用词。最后一行是删除停用词后删除双空格。
感谢您的帮助。