R의 확인 패키지를 사용하여 crps를 계산하려고합니다. 데이터가 정상적으로 읽히지 만 CRPS 자체를 계산할 때 오류가 발생합니다. 시간 '인수 ", 그러나 모든 값은 실제, 아니 부정적인 가치와 난/나 값을 테스트하고 그 무시. 주위를 수색했는데 왜이 오류가 발생하는지 설명하는 해결책을 찾을 수 없습니다. netcdf 파일의 데이터를 큰 배열로 읽은 다음 해당 배열의 각 표 셀에 대해 CRPS를 계산하고 있습니다.R : CRPS를 계산하는 'times'인수가 유효하지 않습니다.
도움이 될 것입니다.
내가 사용하고 코드에서 관련 잘린는 다음과 같습니다
##for each grid cell, get obs (wbarray) and 25 ensemble members of forecast eps (fcstarray)
for(x in 1:3600){
for(y in 1:1500){
obs=wbarray[x,y]
eps=fcstarray[x,y,1:25]
if(!is.na(obs)){
print(obs)
print(eps)
print("calculating CRPS - real value found")
crpsfcst=(crpsDecomposition(obs,eps)$CRPS)
CRPSfcst[x,y,w]=crpsfcst}}}
그리고 출력 내가 얻을 (이전 루프에 지정된 W) :
obs: 0.3850737 eps: 0.3382506 0.3466184 0.3508921 0.3428135 0.3416993 0.3423528 0.3307764 0.3372431 0.3394377 0.3398165 0.3414395 0.3531360 0.3319155 0.3453161 0.3362813 0.3449474 0.3340050 0.3278898 0.3380596 0.3379150 0.3429202 0.3467927 0.3419354 0.3472489 0.3550797 "calculating CRPS - real value found" Error in rep(0, nObs * (nMember +1)) : invalid 'times' argument Calls: crpsDecomposition Execution halted
감사합니다. 사실 나는 방금 Eps 벡터를 25 개의 열이있는 배열로 다시 포맷해야했습니다. 멋지고 쉽게 고칠 수 있습니다 - 천천히 R에 도달! – CoffeeBean