【问题标题】:First data point in vector is not what i expected向量中的第一个数据点不是我所期望的
【发布时间】:2020-09-01 17:16:36
【问题描述】:

我想使用来自某个公式的 for 循环创建一个向量。我的代码显示第一个点为零,但是当我手动计算它时,它应该是不同的。提供代码

n<-12

x <- matrix(0, n+1, 1)
for (k in 1:n+1){
  x[k,] <- exp((2*(k-1)+1)/(2*n+2))
}

手工计算: exp((2*0+1)/(2*n+2)) 给我的值是 1.039211

【问题讨论】:

    标签: r for-loop vector


    【解决方案1】:

    试试这个:

    n<-12
    
    x <- matrix(0, n+1, 1)
    for (k in 1:(n+1)){
      x[k,] <- exp((2*(k-1)+1)/(2*n+2))
    }
    

    输出:

              [,1]
     [1,] 1.039211
     [2,] 1.122305
     [3,] 1.212043
     [4,] 1.308957
     [5,] 1.413620
     [6,] 1.526652
     [7,] 1.648721
     [8,] 1.780551
     [9,] 1.922922
    [10,] 2.076677
    [11,] 2.242726
    [12,] 2.422053
    [13,] 2.615718
    

    问题是1:n+1 正在创建下一个序列:

    [1]  2  3  4  5  6  7  8  9 10 11 12 13
    

    这就是为什么您将第一个元素设为零。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-08
      • 2021-08-30
      • 2015-02-02
      相关资源
      最近更新 更多