在R

时间:2018-12-17 21:48:43

标签: r for-loop interaction

我正在尝试为数据创建交互图,如下所示:

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

为什么会出现此错误?为了创建这些图,我应该更改什么?

this question的答案或我看过的其他答案中都没有解决问题的方法,即使错误消息相同。我的数据框中没有NA,许多解决方案都建议添加na.rm = TRUE。

1 个答案:

答案 0 :(得分:0)

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