안녕하세요!
다시 수정해서 올립니다. 아시는 분 도와 주세요,,
1000개의 행과 20개의 열을 가진 행렬을 만들고 싶습니다. 다시 코드 수정해서 올렸습니다.
아시는 분 좀 도와 주세요,, 먼저 감사드립니다.
set.seed(12345678)
N<-1000 #row number
kitem<-20 # col number
result<- matrix(0,N,kitem)
for(i in 1:N){
for(j in 1:kitem){
theta1<-rnorm(20,0,1)
theta2<-rnorm(20,-0.5,1)
a1<-rnorm(20,1,1)
a2<-rnorm(20,1,1)
b=1
d<- -b*sqrt(a1^2+a2^2)
cc=0.5
prob<- cc+(1-cc)/(1+exp(-((theta1*a1)+(theta2*a2)+d)))
}
}
result[i,j] <-prob
첫댓글 많은 대안중에 가장 간단하고 속도도 손해보지 않는 방법은, theta1, theta2를 N*kitem matrix를 만드는 방법입니다.
N<-1000 #row number
kitem<-20 # col number
theta1<-matrix(rnorm(N,0,1),nrow = N, ncol = kitem)
theta2<-matrix(rnorm(N,-0.5,1),nrow = N, ncol = kitem)
irf<-function(theta1,theta2, a1=.5, a2=1,b=0,cc=0.5)
for(i in 1:N){
for(i in 1:kitem){
{
d<- -b*sqrt(a1^2+a2^2)
prob <- cc+(1-cc)/(1+exp(-((theta1*a1)+(theta2*a2)+d)))
}
return(prob)
}
}
x=irf(theta1,theta2, a1=.5, a2=1,b=0,cc=0.5)
dim(x)
죄송합니다. ,제가 우문을 했습니다. 행이 1000개, 열이 20개인 matrix 이고요, 각 값은 prob의 값이 발생되는 겁니다. 즉, 2만개의 값이 있는 겁니다.