2016-08-22 1 views
0

Интересно, если кто-нибудь может посоветовать,NCEP.interp неисполнению Ошибка в если (формат (dt.f, "% m-% d% H:% M:% S")

Я пытаюсь извлечь скорость осаждения к конкретным образцам из базы данных RNCEP с использованием пакета RNCEP и функции NCEP.interp.

Сначала я импортирую рабочий лист из .xlsx с одним столбцом, содержащим Sample_Date, в формате% Y-% m-% d% H:% M:.% S

Во-вторых, я использую NCEP.interp, который, кажется, бежит замечательно до 18%, когда он дает следующее сообщение об ошибке и останавливает:

Error in if (format(dt.f, "%m-%d %H:%M:%S") > "12-31 17:59:59") { : 
missing value where TRUE/FALSE needed 

Есть также ряд предупреждений со ссылкой для загрузки длины, например:

50: In download.file(paste("http://www.esrl.noaa.gov/psd/thredds/dodsC/Datasets/ncep.reanalysis", ... : downloaded length 522 != reported length 200 

Но, я не думаю, что предупреждения вопрос (в том числе и для полноты картины). Мой полный код:

install.packages("RNCEP", dependencies =TRUE) 
library(RNCEP) 

SampPre6 <- read.xlsx("C:....Rainfall.xlsx", 
       sheetName = "1") 
SampPre6$Sample_Date <- strptime(as.character(SampPre6$Sample_Date), "%Y-%m-%d %H:%M:%S") 
format(SampPre6$Sample_Date, "%Y-%m-%d %H:%M:%S") 

PratePre6 <- NCEP.interp(variable='prate.sfc', level='gaussian', 
        lat=SampPre6$Latitude,lon=SampPre6$Longitude, 
        dt=SampPre6$Sample_Date,reanalysis2=TRUE, 
        keep.unpacking.info = TRUE) 

Пример данных:

Sample_ID   Sample_Date Latitude Longitude 
1  151 2013-03-15 23:29:59 31.39725 121.5068 
2  177 2013-04-13 00:14:59 31.39695 121.5067 
3  500 2013-04-13 06:59:59 23.26420 113.5147 
4  501 2013-04-13 08:15:00 23.26168 113.5214 
5  502 2013-04-13 09:00:00 23.27464 113.5529 
6  247 2013-04-26 19:44:59 22.45018 114.1511 
7  246 2013-04-26 21:14:59 22.45174 114.1346 
8  245 2013-04-26 22:30:00 22.43341 114.1168 
9  300 2013-05-18 00:59:59 31.39733 121.5067 
10  584 2013-06-04 01:15:00 23.18805 113.4910 

В общем, кто может пролить свет на сообщение об ошибке, которое вызывает остановку процесса?

Спасибо заранее, Ян

ответ

1

Параметр дт должен быть типа «символ», как указано в файлах справки? NCEP.interp

Перед запуском NCEP.interp(), попробуйте в том числе следующий ...

SampPre6 $ Sample_Date < - формат (SampPre6 $ Sample_Date "% Y-% m-% d% H:% M:% S")

+0

Привет Майкл, который, кажется, работает. Огромное спасибо. –