"индекс вне границ" для matchTab в пакете epicalc в R - PullRequest
0 голосов
/ 24 июня 2011

В качестве заголовка я собрал данные для сопоставленного исследования случай-контроль 1: 6, и я пытаюсь проанализировать данные, используя matchTab, но это дает мне ошибку «индекс за пределами», интересно, если кто-то здесь имеетвстречал что-нибудь подобное раньше.Что это значит?Некоторые проблемы с моим набором данных?Поскольку я попробовал руководство, я могу получить результат, используя набор данных, использованный в руководстве.

Спасибо.

1 Ответ

2 голосов
/ 24 июня 2011

Эта ошибка часто возникает из-за подмножеств матрицы за пределы размеров объекта. Попробуйте это например:

mat <- matrix(1:9, ncol = 3)
mat[,4]

с последней строкой, дающей

> mat[,4]
Error: subscript out of bounds

Это иногда происходит в коде, потому что программист забыл, что [ отбрасывает пустые измерения - я сам делал это много раз, забывая случай матрицы с 1 столбцом! Я не говорю, что это проблема здесь, но одна из распространенных причин этого в коде R.

Поскольку вы не предоставили воспроизводимый пример, а я не знаком с упомянутым вами пакетом, я не могу диагностировать проблему дальше. Это может быть ошибка в их пакете или проблема с тем, как вы предоставили или поняли, что вам необходимо предоставить данные для функции.

Первое, что я хотел бы сделать, - перечитать страницу руководства для функции. Подтвердите, что аргументы указаны правильно. Если это не помогает, повторите процедуру, чтобы сгенерировать ошибку, а затем вызовите traceback(), чтобы точно определить, в какой функции возникает ошибка. Для дальнейшей отладки попробуйте

options(error = recover)

затем перезапустите ваш код. Это приведет вас к отладчику, чтобы вы могли перейти в кадр, где произошла ошибка, и увидеть, как выглядели все объекты, как они были измерены и т. Д. И почему возникла ошибка.

Если вы не можете отлаживать это самостоятельно, вам может потребоваться связаться с сопровождающими или предоставить воспроизводимый пример ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...