我正在尝试为数据创建交互图,如下所示:
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。
答案 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)}