如何修复错误 "Subscript out of bounds"

How to fix the error "Subscript out of bounds"

我有一个关于修复错误的问题:

"subscript out of bounds".

我正在分析眼动追踪实验的数据。您可以在下面找到示例数据:

Stimulus  Timebin   Language  Percentage on AOI 
1            11        L1         0.80
1            11        L2         0.60
1            12        L1         0.80
1            12        L2         0.50
1            13        L1         0.83
1            13        L2         0.50
...
10           37        L1         0.00
10           37        L2         0.50
10           38        L1         0.70
10           38        L2         0.50
10           39        L1         0.60
10           39        L2         0.70
10           40        L1         0.75
10           40        L2         0.89

...

我想用 LanguageTimebin 作为自变量,percentage on Area of Interest (AOI) 作为因变量进行增长曲线分析。此外, Stimulus 作为随机因素。我为每个刺激和条件获得了 40 个时间箱。为了避免潜在的共线性问题,我想创建正交多项式。下面的代码用于创建独立(正交)多项式时间项(线性、二次和三次)。

Gaze_1_Poly <- poly((unique(Gaze_1$timebin)), 3)
Gaze_1[,paste("ot", 1:3, sep="")] <- Gaze_1_Poly[Gaze_1$timebin, 1:3]

我总是收到一个错误,告诉我存在越界下标。

Error in Gaza_1_Poly[Gaze_1$timebin, :
subscript out of bounds

所以我检查了变量的class,我认为没有问题:

   Stimulus     Timebin    Language  percentage on AOI        
"character"   "integer"    "factor"   "numeric"  

我想不通原因。有人可以帮帮我吗?

见上面的评论。让我知道这是否是您想要的。

library(dplyr)

Gaze_1 %>%
  left_join(data.frame(Timebin = unique(.$Timebin), poly(unique(.$Timebin), degree = 3)),
            by = 'Timebin') %>%
  setNames(c("Stimulus", "Timebin", "Language", "Percentage on AOI", "ot1", "ot2", "ot3"))