我有 6 次不同采访的笔录文件,并且正在使用 VADER 对文本进行情感分析。所有文件的综合得分为 1。这对我来说似乎不正确,但我不确定为什么会发生这种情况,或者如何排除故障。
我的代码是:
for (i in MD_scripts) {
file_MD <- read_file(i)
gsub("[\r\n]", "", file_MD)
vader_MD <- get_vader(file_MD)
df_vader <- data.frame(rbind(df_vader, vader_MD))
}
pos、neu、neg 分数也出奇地相似,但并不完全相同。 有什么建议/想法吗?
我想过对单个句子运行 VADER(成功做到了这一点)并尝试手动计算总体复合分数,但我不知道该怎么做。
这里有两种更正问题中代码的方法。
一,使用
for
循环。您必须事先创建一个结果列表vader_list
。
library(vader)
vader_list <- vector("list", length = length(MD_scripts))
for (i in seq_along(MD_scripts)) {
file_MD <- MD_scripts[[i]] |>
readLines() |>
paste(collapse = " ")
vader_list[[i]] <- get_vader(file_MD)
}
您还可以使用
lapply
循环,这使得代码更简单。
library(vader)
vader_list <- lapply(MD_scripts, \(fl) {
fl |>
readLines() |>
paste(collapse = " ") |>
get_vader()
})