0
아래 코드의 성능을 향상시키고 자합니다. 내 생각은 st2의 각 열을 자체 행렬로 만드는 방식으로이 작업을 "벡터화"하려고하는 것입니다. 이것이 데이터 프레임이 나를 위해 할 수있는 것입니까?각 행에 다른 행렬이있는 행렬
st<-matrix(nrow=257,ncol=10000)
st2<-matrix(nrow=257,ncol=10000)
st[1,]=1489
for(i in 1:10000)
{
st2[1,]<-st[(256+1),1]
for(j in 2:(256+1))
{
st2[j,]=st2[(j-1),] *exp(.5-(.2^2/2)) * rnorm(10000)
}
print(st2[256+1,]) #this for example, in reality I store these values for later
}
당신의 방정식'... * exp ((. 5 - (.2 ...)')은 상수가되어야합니까? 그렇다면 루프 외부로 이동하면 ... 'i'는 어디에서든지 계산할 수 있습니다 – Justin
루프 내에서 "i"인덱스가 보이지 않으므로 replicate가 빠를 수도 있습니다 exp (epression)에 대해 하나의 rnorm() 호출을 계산 한 다음'^ (1 : nrow (st))를 사용하여 누적 된 제품을 처리 할 수 있습니다. "벡터화 할 수 있어야"합니다. 그래서 작은 예제를 만들지 마십시오. 예를 들어 5 * 1000 배 작아서 바보짓을하는 것이 더 합리적일까요? –
'replicate '가 여기에 갈 방법이 될 수도 있습니다. – mrkb80