将所有值输入矩阵的函数

时间:2016-04-13 15:44:06

标签: r function loops matrix

我的功能有问题。当我调用该函数时,它似乎只是在我的for循环中循环第一个值并且不会继续填充我的矩阵。这是代码。输出应该是一个填充1的矩阵。

 binfunction <- function(y) { #Set up a function that takes a vector input and puts the elements into bins
  L <- length(y)
  x <- c(0, cumsum(y))
  U <- runif(1, min = 0 , max = sum(y))
  for(i in 1:L) {
   if(x[i] <= U && x[i+1] > U){
    return(i)
  }
 }
}


randomgraph <- function(n, beta) {
  mat <- matrix(0,n,n)
  mat[1,2] <- 1
  mat[2,1] <- 1
   for(i in 3:n) { #Loop that fills matrix
    degvect <- colSums(mat[ , (1:(i-1))])
    degvect <- degvect^(beta)
    j <- binfunction(degvect)
    mat[i,j] <- 1
    mat[j,i] <- 1
     return(mat)
 }
}

0 个答案:

没有答案