首页 > 解决方案 > “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。

标签: rfor-loopinteraction

解决方案


我通过将 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)}

推荐阅读