na.rm=TRUE
должно привести к тому, что R проигнорирует все пропущенные значения. Вы проверили, чтобы убедиться, что все файлы используют одно и то же пропущенное значение? Вы уверены, что не подхватываете дополнительные файлы с другими определениями пропущенных значений с помощью символа подстановки? Если бы я хотел, я бы выполнил следующие проверки:
Сначала убедитесь, что перечисленные здесь файлы соответствуют средним в R:
ls *.nc
Затем проверьте определения из пропущенных значений:
for file in `ls *.nc` ; do ncdump $file | grep -i missing ; done
и вы также можете проверить полученное значение путем перекрестной проверки с помощью cdo:
cdo ensmean *.nc ensmean.nc
cdo fldmax ensmean.nc fldmax.nc
cdo fldmin ensmean.nc fldmin.nc
ncdump fldmin.nc
ncdump fldmax.nc
и посмотреть, какое значение это вам дает, и если оно отличается от того, что в программе R ...
Надеюсь, что помогает снимать проблемы ...