r - “plot.window(...) 中的错误:在 R 中创建交互图时需要有限的 'ylim' 值”错误
问题描述
我正在尝试为如下所示的数据创建交互图:
goal behavior dv1 dv2 dv3
1 1 4 2 6
1 5 3 5 1
1 7 2 4 2
5 1 5 2 7
5 5 2 1 3
5 7 2 1 2
7 1 4 5 7
7 5 2 1 4
7 7 3 2 5
如您所见,有 9 个条件(3 个目标可能性 x 3 个行为可能性)。在实际数据集中,9 个条件中的每个条件大约有 25-30 名参与者。
这是我过去用来创建交互图的代码。“factor_values”是一个包含每个因变量名称的列表。我正在尝试为“factor_values”列表中的每个项目创建一个图。“dfc”是数据框。
for(i_factor_value in factor_values) {
interaction.plot(dfc$goal, dfc$behavior,
dfc[[i_factor_value]], ylab = i_factor_value) }
当我运行它时,我收到以下错误:
Error in plot.window(...) : need finite 'ylim' values
为什么我会收到此错误?为了创建这些图,我应该改变什么?
我的问题的解决方案在这个问题的答案或我看过的其他问题中不可用,即使错误消息是相同的。我的数据框中没有 NA,许多解决方案都建议添加 na.rm = TRUE。
解决方案
我通过将 as.numeric() 添加到代码中来使用它,如下所示:
for(i_factor_value in factor_values) {
interaction.plot(dfc$goal, dfc$behavior,
as.numeric(dfc[[i_factor_value]]), ylab = i_factor_value)}
推荐阅读
- javascript - 链接和按钮未对齐
- android - 如何从 alertdialog 更改 mainactivity 中的可见性编辑文本
- python-3.x - 从 numpy 数组中删除列表并只有数组
- log4j - 如何在大型项目中配置 log4j 2
- routing - 如何让 Next JS 动态路由与 RelayJS 一起使用
- clojure - 保证某个未知值在序列中的惯用方法是什么?
- java - java.lang.UnsupportedClassVersionError:如何使用较新版本的 Java Runtime 运行代码
- powerbi - DAX 等价于 SQL 语句
- ruby-on-rails - 如何指定转换表名称。全球化
- flutter - 向下滑动后小部件不可见