在时间序列分析中为系数创建循环向量

Creating for loop vector for coefficient in time series analysis

也许我有两个值,其中 m=5 和 r=3。我正在尝试获取具有 5 个值的向量。当j<=r-1时,必须遵循方程(m-r)(j+1)。当j>r时,必然服从方程r(m-j-1).

我写了下面的代码:

    returns = function(m,r){
    vector = numeric(m)
    for(j in 0:m-2){
        if(j <= (r-1)){
          vector[j] = (m-r)*(j+1)
        }
        if(j >= r){
          vector[j] = r*(m-j-1)}}
        print(vector)
        j=j+1}

我想得到的结果是:

    2,4,6,3,0

我在return中得到的是:

    4,6,3,0,0

非常感谢任何帮助!

1) j 的索引必须以 1 开头,因为在 R 中所有向量都基于 1,而不是 0。

2) 给出的规则是根据 j - 因此调整规则以说明 j 基于 1

returns = function(m,r){
  vector = numeric(m)
  for(j in 1:m-1){
    if(j < r){
      vector[j] = (m-r)*(j)
      }
    if(j >= r){
      vector[j] = r*(m-j-1)
      }
    }
  print(vector)
  }

returns(5,3)