Я пытаюсь построить данные о питательных веществах (нитратах и силикатах) по глубине (и определить максимальную глубину). Я использую этот пример ( Извлечение всех уровней из файла NetCDF в R ), но я не могу получить правильные данные на графике.
Данные: https://www.nodc.noaa.gov/OC5/woa18/woa18data.html
Питательные вещества: нитраты и силикаты
Код:
f <- "woa18_all_n01_01.nc" ##this is nitrate
b <- brick(f, var="n_oa", lvar=4)
b
class : RasterBrick
dimensions : 180, 360, 64800, 43 (nrow, ncol, ncell, nlayers)
resolution : 1, 1 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
crs : +init=EPSG:4326
source : woa18_all_n01_01.nc
names : X0, X5, X10, X15, X20, X25, X30, X35, X40, X45, X50, X55, X60, X65, X70, ...
depth (meters): 0, 800 (min, max)
varname : n_oa
level : 1
pt <- cbind(120, -60)
e <- extract(b, pt)
e[1:43]
names(b$var) #Error in .local(x, ...) : invalid layer names
plot(e ~ depth (meters))
s <- "woa18_all_i01_01.nc" ##this is silicate
d <- brick(s, var="i_oa", lvar=4)
d
class : RasterBrick
dimensions : 180, 360, 64800, 43 (nrow, ncol, ncell, nlayers)
resolution : 1, 1 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
crs : +init=EPSG:4326
source : woa18_all_i01_01.nc
names : X0, X5, X10, X15, X20, X25, X30, X35, X40, X45, X50, X55, X60, X65, X70, ...
depth (meters): 0, 800 (min, max)
varname : i_oa
level : 1
На основе примера в ссылка выше, я догадался, что lvar = 4 дает вам фактические данные о нитратах и силикатах (это неправильно?). Если это правильно, тогда у меня должно быть 43 точки данных, верно? достижение максимальной глубины 800 метров?
e <- extract(d, pt)
e <- extract(b, pt)
e[1:43]
plot(e ~ depth (meters)) #Error in depth(meters) : could not find function "depth"
names(d$var) #Error in .local(x, ...) : invalid layer names
Я хотел бы построить концентрацию нитратов и силикатов по глубине для данного места (pt) на одном графике.
Используя связанный пример, я могу извлечь часть данных (не все данные отображаются, и я не знаю, почему ... много NA, как показано ниже), и я не могу построить их по глубине, потому что он говорит неверные имена слоев. Как я могу это исправить?
e[1:43]
[1] 0.7020741 2.8661118 4.5283585 5.4967270 5.6409035 5.7678833
5.8109722 6.0489120 6.1532974
[10] 6.3548470 6.6145363 6.7164783 6.8310509 6.4644928
6.4681816 6.4899788 6.3536987 5.8383942
[19] 6.1574135 5.5197525 5.8816566 8.4772491 10.1788559
11.8642044 9.7336349 NA NA
[28] NA NA NA NA NA
NA NA NA NA
[37] 5.8372116 NA NA NA NA
NA NA
Спасибо