r - UseMethod(“type”)中的错误:没有适用于“type”的适用方法应用于“factor”类的对象 - 情绪分析
问题描述
当谈到 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
}
解决方案
问题出在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
}
推荐阅读
- audio - ffmpeg 解析错误与低音音频过滤器和表达式评估
- mysql - 数据库设计:多表和外键
- jenkins - Fortify on-demand 和 on-premise 之间的区别
- maven - 有时无法使用 citrus 测试框架工作执行 maven 测试
- python - 如何将键控 2 列表的列表转换为相同键的 N 列表列表?
- javascript - 带有 React 的漫游 tabindex
- excel - 这个工作簿在 Excel 2018 中不起作用?
- python - Python - 简单的 for 循环无法按预期工作(使用请求模块)
- ruby-on-rails - 带有接受单选按钮的嵌套属性
- c - 配置 $(CC) 以在包含可以安全删除时发出警告