我对解决错误有疑问:
“下标超出范围”。
我正在分析眼动追踪实验的数据。您可以在下面找到示例数据:
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
...
我想用Language
和Timebin
作为自变量,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]
我总是收到一个错误消息,告诉我有一个超出范围的下标。
Gaza_1_Poly [Gaze_1 $ timebin,:
中的错误 下标超出范围
所以我检查了变量的类,我认为这没问题:
Stimulus Timebin Language percentage on AOI
"character" "integer" "factor" "numeric"
我不知道原因。有人可以帮我吗?
答案 0 :(得分:0)
请参阅上面的评论。让我知道您是否打算这样做。
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"))