我是R的新手,并且希望依靠我的讲师的代码对我的学期论文进行情感分析。但是,她使用了另一本词典,所以我不得不修改我的代码,这才是麻烦所在。
我正在尝试创建一个对出现的正项进行评分的变量。但是,当我运行循环时,出现错误:
Error in UseMethod("type") :
no applicable method for 'type' applied to an object of class "factor"
我已经在互联网上搜索并读取到我的数据可能以错误的格式存储。但是,我的两个数据集(nss2018
是我要进行分析的数据; posterms
包含字典的正词)都存储为一个列表,该列表与我的讲师使用的数据类型相同
由于我通常不使用R,所以我有点绝望,对此毫无意义。
我用于创建变量的代码:
nss2018$posterms <- 0
for (i in 1:nrow(posterms)) {
occur <- str_count(nss2018$text, posterms$V1[i])
nss2018$posterms <- nss2018$posterms + occur
}
答案 0 :(得分:0)
问题出在string_count
。如果第二个参数是一个因数,则会出现错误。例如:
str_count(as.factor(letters), as.factor(c('a', 'b')))
#Error in UseMethod("type") :
# no applicable method for 'type' applied to an object of class "factor"
将其转换为character
,就可以了:
str_count(as.factor(letters), as.character(as.factor(c('a', 'b'))))
#[1] 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
所以在您的情况下:
for (i in 1:nrow(posterms)) {
occur <- str_count(nss2018$text, as.character(posterms$V1[i]))
nss2018$posterms <- nss2018$posterms + occur
}