在 for 循环中使用 seq() 和 ifelse

Using seq() and ifelse in a for loop

我正在尝试制作以下内容"sequence":

0.0025,0.005, 0.010, 0.015, 0.020, 0.025, 0.030, 0.035, 0.040, 0.045, 0.050, 0.055, 0.060

如您所见,在第一个值 0.0025 之后,值增加 0.0025,然后连续增加 0.005。所以在第二个值0.005之后,本质上就是一个递增0.005的序列。我认为我可以在其中使用 seq()。

我认为可行的是:

    matrix1 <- matrix("", nrow = 1, ncol = 13)
    m <-  for (i in 1:length(matrix1){

    matrix1[,i] <- ifelse(i == 1, 0.0025, ifelse(i == 2, 0.005, seq(0.01,    0.05, by = 0.005)))
}

然而,这给了我以下结果:

     [,1]     [,2]    [,3]   [,4]   [,5]   [,6]   [,7]   [,8]   [,9]   [,10]  [,11]  [,12]  [,13] 
[1,] "0.0025" "0.005" "0.01" "0.01" "0.01" "0.01" "0.01" "0.01" "0.01" "0.01" "0.01" "0.01" "0.01"

这不是我想要的。

有什么建议吗?

如果问题真的是关于使用 for 循环,那么我宁愿使用 ifelse 语句:

n <- 13
x1 <- vector("numeric", 13)
for (i in 1:n) {
  if (i==1) {
    x1[i] <- 0.0025
  } else {
    x1[i] <- 0.005 + (i-2)*0.005
  }
}

... 因为 ifelse 是要应用于向量的:

j <- 1:n
x2 <- ifelse(j == 1, 0.0025, 0.005 + (j-2)*0.005)

但是还有很多其他方法可以获得所需的结果!我最喜欢的是

x3 <- c(0.0025, seq(0.005, 0.06, by=0.005))

因为当你大声朗读它时,你实际上创建了一个向量,,在第一个值 0.0025 之后,值增加 0.0025,然后连续增加 0.005。"。 =17=]