通过文本分析 inner_join 删除了 R 中的一千多个单词
With text analysis inner_join removes more than a thousand words in R
我正在分析 most_used_words
数据框中包含单词的列。用2180个字。
most_used_words
word times_used
<chr> <int>
1 people 70
2 news 69
3 fake 68
4 country 54
5 media 44
6 u.s 42
7 election 40
8 jobs 37
9 bad 36
10 democrats 35
# ... with 2,170 more rows
当我 inner_join
使用 AFINN 词典时,2180 个单词中只有 364 个被评分。这是因为 AFINN 词典中的单词没有出现在我的数据框中吗?我担心如果是这样的话,这可能会在我的分析中引入偏见。我应该使用不同的词典吗?还有其他事情正在发生吗?
library(tidytext)
library(tidyverse)
afinn <- get_sentiments("afinn")
most_used_words %>%
inner_join(afinn)
word times_used score
<chr> <int> <int>
1 fake 68 -3
2 bad 36 -3
3 win 24 4
4 failing 21 -2
5 hard 20 -1
6 united 19 1
7 illegal 17 -3
8 cuts 15 -1
9 badly 13 -3
10 strange 13 -1
# ... with 354 more rows
"Is this because the words in the in the AFINN lexicon don't appear in my dataframe?"
是的。
内部联接只会 return 匹配来自每个 data.frame 的行(词)。
当然,你可以尝试不同的词典,但这可能对你处理名词没有帮助。名词标识人、动物、地点、事物或想法。在您上面的示例中,"u.s."、"people"、"country"、"news"、"democrats" 都是 afinn
中不存在的名词。 None 其中有任何没有上下文的情绪。欢迎来到文本分析的世界。
但是,根据您的分析显示的输出,我认为您可以得出结论,您的词栏的情绪是压倒性的 "negative"。单词 "fake" 的出现次数几乎是下一个最常用单词 "bad".
的两倍
如果您有完整的句子,您可以使用 sentimentr
r 包获取上下文。看看:
install.packages("sentimentr")
library(sentimentr)
?sentiment
这将需要比您在此处完成的工作更多的工作,并且会产生更丰富的结果。但最终,它们很可能是一样的。祝你好运。
我正在分析 most_used_words
数据框中包含单词的列。用2180个字。
most_used_words
word times_used
<chr> <int>
1 people 70
2 news 69
3 fake 68
4 country 54
5 media 44
6 u.s 42
7 election 40
8 jobs 37
9 bad 36
10 democrats 35
# ... with 2,170 more rows
当我 inner_join
使用 AFINN 词典时,2180 个单词中只有 364 个被评分。这是因为 AFINN 词典中的单词没有出现在我的数据框中吗?我担心如果是这样的话,这可能会在我的分析中引入偏见。我应该使用不同的词典吗?还有其他事情正在发生吗?
library(tidytext)
library(tidyverse)
afinn <- get_sentiments("afinn")
most_used_words %>%
inner_join(afinn)
word times_used score
<chr> <int> <int>
1 fake 68 -3
2 bad 36 -3
3 win 24 4
4 failing 21 -2
5 hard 20 -1
6 united 19 1
7 illegal 17 -3
8 cuts 15 -1
9 badly 13 -3
10 strange 13 -1
# ... with 354 more rows
"Is this because the words in the in the AFINN lexicon don't appear in my dataframe?"
是的。
内部联接只会 return 匹配来自每个 data.frame 的行(词)。
当然,你可以尝试不同的词典,但这可能对你处理名词没有帮助。名词标识人、动物、地点、事物或想法。在您上面的示例中,"u.s."、"people"、"country"、"news"、"democrats" 都是 afinn
中不存在的名词。 None 其中有任何没有上下文的情绪。欢迎来到文本分析的世界。
但是,根据您的分析显示的输出,我认为您可以得出结论,您的词栏的情绪是压倒性的 "negative"。单词 "fake" 的出现次数几乎是下一个最常用单词 "bad".
的两倍如果您有完整的句子,您可以使用 sentimentr
r 包获取上下文。看看:
install.packages("sentimentr")
library(sentimentr)
?sentiment
这将需要比您在此处完成的工作更多的工作,并且会产生更丰富的结果。但最终,它们很可能是一样的。祝你好运。