R中的负下标错误

Dom*_*bey 6 r

我有以下代码片段:

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

并出现以下错误:

j [k + seq(-50,150)] < - F中的错误:只有0可以与负下标混合

为什么我得到这个,即使我已设置条件,如果下标可能会遇到负值?

jor*_*ran 12

k = 25,说,那么你的if条件为真(k小于100,但大于0).但是25 +( - 50)是-25.但是25 + 150 = 175,一个正指数.在子集化时,您不能混合正负索引.

我想我应该补充一点,你不能做到这一点的原因是积极和消极的指数有不同的含义.x[3]表示您想要选择第三个元素,而x[-3]意味着您要省略第三个元素.如果你在选择其他元素的同时开始删除元素,那么跟踪哪些元素引用哪些元素会让人感到困惑.