Ошибка отрицательных подписок в R - PullRequest
5 голосов
/ 05 сентября 2011

У меня есть следующий фрагмент кода:

if(k<=100 && k>=0 )
{        
    j[k+seq(-50,150)]<-F;
}
else
{
    j[k+seq(-100,100)]<-F;
}

И следующая ошибка:

Ошибка в j [k + seq (-50, 150)] <- F: только 0 могут быть смешаны с отрицательными подписками </p>

Почему я получаю это, хотя я установил условия, если подписчики могут столкнуться с отрицательными значениями?

1 Ответ

10 голосов
/ 05 сентября 2011

Когда, скажем, k = 25, тогда ваше условие if истинно (k меньше 100, но больше 0).Но 25 + (-50) это -25.Но 25 + 150 = 175, положительный показатель.Вы не можете смешивать положительные и отрицательные индексы при поднаборе.

Полагаю, я должен добавить, что отчасти вы не можете этого сделать, потому что положительные и отрицательные индексы имеют разное значение.x[3] означает, что вы хотите выбрать третий элемент, тогда как x[-3] означает, что вы хотите пропустить третий элемент.Было бы странно отслеживать, какие индексы относятся к каким элементам, если вы начали отбрасывать элементы одновременно с выбором других.

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