2014-04-23 2 views
2

영국 인구 전망에서 무작위 샘플을 취하여 매트릭스에 저장하려고합니다. 이상적으로몬테카를로 매트릭스의 매트릭스 R

Error in rnorm(MC_RUNS, mean = Mean_ONS_Population_Growth, sd = SD_ONS_Population_Growth) : 
invalid arguments 

, 나는 1000 열 5 행 행렬을 싶습니다 순간

, 나는

# Read in Data 
Year = data.frame(2010, 2011, 2012, 2013, 2014) 
Mean_ONS_Population_Growth = data.frame(0.0076, 0.0158, 0.0240, 0.0323, 0.0404) 
SD_ONS_Population_Growth = data.frame(0.0003, 0.0015, 0.0029, 0.0045, 0.006193468) 

MC_RUNS = 1000 # Specify number of runs 

Projected_Population_Growth = array(0,dim=c(49,MC_RUNS,5)) # Specify number of runs 

Projected_Population_Growth = rnorm(MC_RUNS,mean=Mean_ONS_Population_Growth,sd=SD_ONS_Population_Growth) 

하지만이 오류를 받고 있어요 다음 코드를 사용하고 있습니다 - 각 행은 1 년을 나타내고 각 열은 무작위로 선택된 몬테카를로 샘플을 나타냅니다.

도움 주셔서 감사합니다.

답변

1
mapply(rnorm,mean=Mean_ONS_Population_Growth,sd=SD_ONS_Population_Growth,MoreArgs=list(n=MC_RUNS)) 
+0

이 링크는 질문에 대답 수 있지만

class(Mean_ONS_Population_Growth[1]) [1] "data.frame" 

제 H, D, 여기에 해답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공하는 것이 좋습니다. 링크 된 페이지가 변경되면 링크 전용 답변이 유효하지 않게 될 수 있습니다. – RiggsFolly

+0

링크가 없습니다 - 다른 답변에 대해 의견을 제시 하시겠습니까? – Miff

+0

요점은 대답은 한 줄의 코드가 아니라 몇 가지 설명이 있어야한다는 것입니다. – RiggsFolly

1

R의 함수 rnorm은 단 변량 분포 만 처리 할 수 ​​있습니다. 다 변수 배포판의 기능을 포함하여 기본 패키지를 알지 못하지만 cran을 확인할 수 있습니다. 개인적으로 패키지 mvtnorm을 선호합니다. 이 패키지에 포함 된 함수는 rmvnorm이며 기본적으로 rnorm의 다 변수 버전입니다. 당신이 독립적 인 변량 분포를 갖고 싶어하지만,이 같은 예를 들어 sapply을 할 수있는 : 당신은 당신의 코드가

sapply(1:length(Mean_ONS_Population_Growth), 
    function(iMC) { 
     rnorm(MC_RUNS, 
      mean=as.numeric(Mean_ONS_Population_Growth[iMC]), 
      sd=as.numeric(SD_ONS_Population_Growth[iMC])) 
    } 
) 

한 가지 문제는, rnorm 인수로만 수치 걸립니다.

관련 문제