首页 > 解决方案 > 参数函数中向量的长度并用R中的序列填充

问题描述

我想创建一个向量 V 和 W,其长度为参数 G 的函数。这项工作与矩阵有关。这是我的 G=2 代码:

  ncol <- 13
  G <- 2
  m <- matrix(, nrow = ncol, ncol = ncol)
  l <- matrix(1:(G*G), nrow = G, ncol = G)
  N <- ncol-(G)

  for (i in (0:(N))) {
    for(j in (0:(N))){
      V <- c(i+1, i+2)
      W <- c(j+1, j+2)
      m[V, W] <- l
    }
  }

对于这个例子,V 和 W 的长度是 2。如果我改变 G=3 我想要:

  V <- c(i+1, i+2, i+3)
  W <- c(j+1, j+2, j+3) 

对于 G=4:

  V <- c(i+1, i+2, i+3, i+4)
  W <- c(j+1, j+2, j+3, j+4) 

如何创建 V 和 W 以在 G 的函数中具有长度?

标签: rloopsmatrixvector

解决方案


使用seq:生成序列。

for (i in (0:(N))) {
   for(j in (0:(N))){
     V <- seq(i+1, i+G)
     #V <- (i+1):(i+G)
     W <- seq(j+1, j+G)
     #W <- (j+1):(j+G)
     m[V, W] <- l
    }
}

推荐阅读