Saya mencari cara untuk menghasilkan serangkaian matriks yang semua jumlah kolomnya sama dengan nilai tertentu. Saya pikir saya dapat membuat matriks acak dan memeriksa masing-masing matriks untuk menyaring di mana nilai colSums= diperlukan, tetapi sepertinya itu tidak berhasil. Juga, bagaimana kita menghasilkan matriks acak di R dengan nilai positif dan negatif?
Bagaimana Anda menghasilkan matriks acak di R dengan nilai colSum konstan?
Jawaban (1)
Anda bisa melakukan seperti ini. Ini adalah fungsi yang membuat matriks berisi bilangan acak dari distribusi normal. Kemudian ia memusatkan semua kolom ke 0 dan menjumlahkan angka yang diinginkan.
RandomMatrixColsum = function(mycolsum=1, dim=c(10, 10), ...){
m <- matrix(rnorm(prod(dim), ...), ncol=dim[2])
ms <- scale(m, center=T, scale=F) + mycolsum/dim[1]
return(ms)
}
RandomMatrixColsum(8)
Jika Anda ingin memastikan bahwa matriks Anda memiliki nilai positif dan negatif, Anda dapat meningkatkan deviasi standar rnorm
dengan menambahkan argumen sd=...
ke pemanggilan fungsi, atau juga memaksa sd agar sama dengan mean.
person
agenis
schedule
26.05.2016
?runif
, misal cobarunif(your_desired_number, -1, 1)
- person Vincent Bonhomme   schedule 26.05.2016