【问题标题】:How to fix the error "Subscript out of bounds"如何修复错误“下标超出范围”
【发布时间】:2019-07-02 14:15:49
【问题描述】:

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

“下标越界”。

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

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]

我总是收到一条错误消息,告诉我有一个超出范围的下标。

Gaza_1_Poly 中的错误[Gaze_1$timebin, :
下标越界

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

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

我无法弄清楚原因。有人可以帮帮我吗?

【问题讨论】:

  • 为了重现性,能否分享Gaze_1等示例数据
  • 你好@Ben。谢谢你的评论!我编辑了我的问题并添加了示例数据。如果您能再看一下我的问题,真是太好了。我真的很感激!
  • 问题是 Gaze_1_Poly[Gaze_1$timebin, 1:3] --- Gaze_1$timebin 在您的示例中是数字 11...40 的向量,但 Gaze_1_Poly 生成的行以数字开头3 个多项式的 1(示例数据最多为 7)---如果我有时间,我可以稍后再提供解决方案

标签: r polynomials


【解决方案1】:

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

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"))

【讨论】:

  • 谢谢本!它完美地工作。你说的对。该数据是较大数据的子集。我有 50 个时间箱。并且此数据是从那个数据中删除的,显示时间 bin 11 到 50 的数据。这可能会导致错误。再次感谢您帮助我!最美好的祝愿
猜你喜欢
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多