R语言文本分析(2)
在获得了数据之后,通常需要对文本中的每个词出现的频次进行统计,以便获得出现频次较高的词汇。当然,在英文中,冠词以及be动词可能是出现次数最多的一部分词汇了,后续的学习和处理中通常需要将这部分的词汇移除之后再进行处理。
初学者,先统计之,后续处理以待明天。
下面代码,简单统计频次,进行排序,找出指定词汇出现的频次,绘制在文本中出现的时间,并根据章节对novel进行分节处理。
代码来自上篇提到的书。
# 使用table统计每个单词出现的频数
moby.freqs <- table(moby.words)
# 使用sort将单词按照出现的频数由大到小进行排序
sorted.moby.freqs <- sort(moby.freqs, decreasing = TRUE)
head(sorted.moby.freqs)
# 使用plot绘制图形
plot(sorted.moby.freqs[1:10])
sorted.moby.freqs["he"]
sorted.moby.freqs["she"]
sorted.moby.freqs["him"]
sorted.moby.freqs["her"]
moby.words[4:6]
sorted.moby.rel.freqs <- 100*(sorted.moby.freqs/sum(sorted.moby.freqs))
plot(sorted.moby.rel.freqs[1:10], type="b",
xlab="Top Ten Words", ylab="Percentage of Full Text", xaxt ="n")
axis(1,1:10, labels=names(sorted.moby.rel.freqs [1:10]))
n.time <- seq(1:length(moby.words))
whales <- which(moby.words == "whale")
w.count <- rep(NA, length(n.time))
w.count[whales] <- 1
plot(w.count, main="Dispersion Plot of `whale‘ in Moby Dick",
xlab="Novel Time", ylab="whale", type="h", ylim=c(0,1), yaxt=‘n‘)
chapter.position <- grep("^CHAPTER \\d", novel.lines)
novel.lines[chapter.position]
时间: 2024-10-29 03:20:38