Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么R提供的信息不如gdalinfo那么多?_R_Netcdf - Fatal编程技术网

为什么R提供的信息不如gdalinfo那么多?

为什么R提供的信息不如gdalinfo那么多?,r,netcdf,R,Netcdf,我在R中打开了一个netCDF文件,查看了标题信息。之后,我使用gdalinfo查看同一文件的头信息 我发现,gdalinfo(时间来源、单位等)显示了更多的信息。是否有命令通过R掌握netCDF文件中变量的更多信息 f=open.ncdf("C:\\BR_Ban.nc") > f [1] "file C:\\GF_Guy_6Y.nc has 4 dimensions:" [1] "

我在
R
中打开了一个netCDF文件,查看了标题信息。之后,我使用
gdalinfo
查看同一文件的头信息

我发现,
gdalinfo
(时间来源、单位等)显示了更多的信息。是否有命令通过
R
掌握netCDF文件中变量的更多信息

             f=open.ncdf("C:\\BR_Ban.nc")

              > f
            [1] "file C:\\GF_Guy_6Y.nc has 4 dimensions:"
              [1] "x   Size: 1"
              [1] "y   Size: 1"
              [1] "land   Size: 1"
           [1] "tstep   Size: 105120"
       [1] "double nav_lon[x,y]  Longname:Longitude Missval:1e+30"
       [1] "double nav_lat[x,y]  Longname:Latitude Missval:1e+30"
       [1] "float time[tstep]  Longname:Time axis Missval:1e+30"
     [1] "float timestp[tstep]  Longname:Time step axis Missval:1e+30"

Then read one variable

           A = get.var.ncdf(nc=f,varid="time",verbose=TRUE)
     [1] "vobjtodimname: is a character type varid.  This file has 6 dims"
    [1] "vobjtodimname: no cases found, returning FALSE"
     [1] "get.var.ncdf: isdimvar: FALSE"
      [1] "vobjtovarid: entering with varid=date"
     [1] "Variable named date found in file with varid= 7"
     [1] "vobjtovarid: returning with varid deduced from name; varid= 7"
    [1] "get.var.ncdf: ending up using varid= 7"
     [1] "ndims: 2"
  [1] "get.var.ncdf: varsize:"
    [1]     3 52560
     [1] "get.var.ncdf: start:"
     [1] 1 1
      [1] "get.var.ncdf: count:"
    [1]     3 52560
     [1] "get.var.ncdf: totvarsize: 157680"
     [1] "Getting var of type 3  (1=short, 2=int, 3=float, 4=double, 5=char, 6=byte)"
    [1] "get.var.ncdf: C call returned 0"
    [1] "count.nodegen: 3    Length of data: 157680"     "count.nodegen: 52560    Length of data: 157680"
     [1] "get.var.ncdf: final dims of returned array:"
        [1]     3 52560

简而言之,因为gdalinfo是一个显示特定类型数据集信息的程序,而R是一种设计用于分析各种数据集的语言。如果每次我导入数据集时R都向我发送此类信息,我会很快发疯

当然,这些信息可以在R中访问,您只需请求即可

class( f )
dim( f )
summary( f )
plot( f )

您的帖子缺少一些相当重要的信息(例如,您是如何读取NetCDF数据的)。rgdal包支持这种格式,并且还提供了GDALinfo命令。我不知道为什么有人会希望所有这些信息在阅读或总结时得到回应。我同意R用这个给我发垃圾邮件会让我发疯。我还想补充一点,如果您通过光栅包(这是一个内存安全选项)读取数据,则此信息将显示在光栅摘要中。要从R中运行gdalinfo,请查看
system
system
是一个R命令,查看
?system
。您不需要使用system。该函数内置于rgdal包中。使用require(rgdal)添加库,然后使用?GDALinfo调出帮助。您甚至可以不读取文件中的信息而显示信息。如果这些单位存在于netcdf文件中,则可以访问它们。请将您的问题具体化,ncdf没有提供您需要什么。