2014-01-23 1 views
0

Я создал эту матрицу:Создать матрицу с условной суммой в каждой строке -R

> atr <- matrix(rnorm(18,50,3), nrow=9, ncol=2) 
> atr 
     [,1] [,2] 
[1,] 49.1 46.3 
[2,] 49.9 49.2 
[3,] 52.3 51.6 
[4,] 49.3 46.1 
[5,] 54.3 51.8 
[6,] 46.7 47.2 
[7,] 46.6 57.6 
[8,] 53.9 53.4 
[9,] 46.6 53.1 

Как я могу создать ту же матрицу со значениями, равными RNorm (18,50,3), но с условие, что сумма значений в каждой строке должна быть меньше или равен 100.

ответ

1

Я хотел бы сделать что-то вроде этого

nrow <- 9 
ncol <- 2 
mat <- matrix(nrow = nrow, ncol = ncol) 
i <- 1 
while (i <= nrow) { 
    x <- rnorm(ncol, mean = 50, sd = 3) 
    if (sum(x) <= 100) { 
     mat[i, ] <- x 
     i <- i + 1 
    } 
} 
Смежные вопросы