ループを使用してn
mvn共変量を使用してk
で行列k
を作成しようとしています。非常に単純ですが、今のところ機能していません...これが私のコードです:
n=1000
k=5
p=100
mu=0
sigma=1
x=matrix(data=NA, nrow=n, ncol=k)
for (i in 1:k){
x [[i]]= mvrnorm(n,mu,sigma)
}
何が欠けていますか?
私はここにいくつかのことを見ます:
set.seed(20430)
)。これは、コードを実行するたびに、まったく同じ疑似乱数変量のセットを取得することを意味します。mu = 0
_および_sigma = 1
_を指定する必要はありません。これらはrnorm()
のデフォルト値です。matrix()
関数の_data=
_引数を使用して直接追加します。本当にループの使用に専念している場合は、おそらく二重ループを使用する必要があります。これにより、列をループし、各ループ内で行をループします。 (これはRでコーディングする非常に非効率的な方法であることに注意してください-私はいつもそのようなことをしていますが;-)。p
が何をしているのかわかりません。これがあなたが望んでいるように見えることをするための基本的な方法です:
_set.seed(20430)
n = 1000
k = 5
dat = rnorm(n*k)
x = matrix(data=dat, nrow=n, ncol=k)
_
本当にループを使用したい場合は、次のようにすることができます。
_mu = 0
sigma = 1
x = matrix(data=NA, nrow=n, ncol=k)
for(j in 1:k){
for(i in 1:n){
x[i,j] = rnorm(1, mu, sigma)
}
}
_
A=c(2,3,4,5);# In your case row terms
B=c(3,4,5,6);# In your case column terms
x=matrix(,nrow = length(A), ncol = length(B));
for (i in 1:length(A)){
for (j in 1:length(B)){
x[i,j]<-(A[i]*B[j])# do the similarity function, simi(A[i],B[j])
}
}
x # matrix is filled
私は自分の問題の観点から考えていました。
最初にマトリックスを定義する
E<-matrix(data=0, nrow=10, ncol=10);
2つのループを実行して、行の場合はi、列の場合はjを繰り返します。私のものは交換可能な相関構造です。
for (i in 1:10)
{
for (j in 1:10)
{
if (i==j) {E[i,j]=1}
else {E[i,j]=0.6}
}
};