2017-11-09 8 views
-1

APEC Climate 센터에서 개발 한 AIMS 모델로 작업하고 있습니다. 모델은 ftp 서버에서 데이터를 다운로드 한 다음 datasource.R에서 LoadCmip5DataFromAdss 함수를 호출하여 데이터를 모델에로드합니다. GitHub의에FTP 서버에서 로컬 디렉토리로 데이터 소스 변경

#do.call("LoadCmip5DataFromAdss", parameters) 

나는 데이터

LoadCmip5DataFromAdss <- function(dbdir, NtlCode) { 

    fname <- paste("cmip5_daily_", NtlCode, ".zip", sep="") 

    if(nchar(NtlCode)==4 && substr(NtlCode,1,2)=="US"){ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/US/" 
    }else{ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/" 
    } 

나는 그것이 필요하기 때문에 대신 다운로드하는 로컬 디렉토리에서 데이터를 얻으려면을 다운로드 할 수있는 FTP 서버의 경로를 제공하는 LoadCmip5DataFromAdss의 소스 코드를 발견 많은 시간. 어떻게해야합니까? 설치시 datasource.R 만 제공되기 때문에 어디에서 LoadCmip5DataFromAdss이 들어있는 파일을 찾을 수 있습니까?

+0

'LoadCmip5DataFromAdss'는 파일이 아닌 함수입니다. – amrrs

+0

특정 패키지를 사용하고 있습니까? – Keniajin

+0

R 패키지를 의미합니까? – saadoon

답변

0

그 모든 기능을 수행 zip 파일을 복사입니다 그것을 압축을 풀고 다음을 다운로드하고 ZIP 파일을 삭제 한 후 dbdir에 지정된 디렉토리에 (당신이 NtlCode + .zip에 지정된대로 cmip5_daily_ +). 여기 rSQM에서 전체 기능입니다 : 함수를 사용하여 대

unzip(YOUR_LOCAL_NtlCode_ZIP_FILE, exdir = WHERE_YOUR_dbdir_IS) 

: 당신은 그냥 뭔가를 할 수

LoadCmip5DataFromAdss <- function(dbdir, NtlCode) { 

    fname <- paste("cmip5_daily_", NtlCode, ".zip", sep="") 

    if(nchar(NtlCode)==4 && substr(NtlCode,1,2)=="US"){ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/US/" 
    }else{ 
    adss <- "ftp://cis.apcc21.org/CMIP5DB/" 
    } 

    srcfname <- paste(adss, fname, sep="") 
    dstfname <- paste(dbdir, "/", fname, sep = "") 
    download.file(srcfname, dstfname, mode = "wb") 
    unzip(dstfname, exdir = dbdir) 
    unlink(dstfname, force = T) 
    cat("CMIP5 scenario data at",NtlCode,"is successfully loaded.\n") 
} 

.