如何从netcdf文件中获取日期和深度并合并到数据框中?

问题描述

我从以下位置下载了温度数据 legend guide

我在R中打开了它。我试图创建一个数据框Temp,其中所有温度,深度和日期信息都合并到一个数据框中。

我可以在单个时间点depth_Temp <- data.frame(Temp_Jan@z)上执行此操作,在该时间点上我可以通过深度获取温度

是否可以获取1月至5月的深度和日期并将其合并在一起?

 library(raster)
 library(ncdf4)

 Temp_Jan <- brick("woa18_decav_t01_01.nc",stopIfNotEqualSpaced = FALSE,varname = "t_an",lvar=4)
 Temp_Feb <- brick("woa18_decav_t02_01.nc",lvar=4)
 Temp_Mar <- brick("woa18_decav_t03_01.nc",lvar=4)
 Temp_Apr <- brick("woa18_decav_t04_01.nc",lvar=4)
 Temp_May <- brick("woa18_decav_t05_01.nc",lvar=4)


 depth_Temp <- data.frame(Temp_Jan@z)

 Temp <- rbind(Temp_Jan,Temp_Feb,Temp_Mar,Temp_Apr,Temp_May)

我还要分别导入每个文件Temp_Jan <- brick("woa18_decav_t01_01.nc",lvar=4)。是否可以使用一行代码导入所有文件,或者单独进行处理更安全/方便?

解决方法

您应该可以使用tidync轻松解决此问题:

df <- tidync::tidync("woa18_decav_t01_01.nc") %>% 
  tidync::hyper_tibble()

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...