光栅为什么不';你不总是打印砖匠的所有信息吗?[r]

光栅为什么不';你不总是打印砖匠的所有信息吗?[r],r,raster,r-raster,R,Raster,R Raster,我使用包光栅来读取ncdf文件,除了输入brickRaster名称时的行为外,其他一切都正常 #load a .nc file temp=brick(temp.nc) temp class : RasterBrick dimensions : 180, 360, 64800, 2928 (nrow, ncol, ncell, nlayers) resolution : 1, 1 (x, y) extent : 0, 360, -90, 90 (xmin, xma

我使用包
光栅
来读取ncdf文件,除了输入brickRaster名称时的行为外,其他一切都正常

#load a .nc file
temp=brick(temp.nc)

temp
class       : RasterBrick
dimensions  : 180, 360, 64800, 2928  (nrow, ncol, ncell, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84
data source : /fhgfs/data/work/crct/bfb16057/pgf/1.0deg/3hourly/tas_3hourly_1948-1948.nc
names       : X1948.01.01.00.00.00, X1948.01.01.03.00.00, X1948.01.01.06.00.00, X1948.01.01.09.00.00, X1948.01.01.12.00.00, X1948.01.01.15.00.00, X1948.01.01.18.00.00, X1948.01.01.21.00.00, X1948.01.02.00.00.00, X1948.01.02.03.00.00, X1948.01.02.06.00.00, X1948.01.02.09.00.00, X1948.01.02.12.00.00, X1948.01.02.15.00.00, X1948.01.02.18.00.00, ...
Date/time   : 1948-01-01 00:00:00, 1948-12-31 21:00:00 (min, max)
varname     : tas
level       : 1
但是,当我重新加载工作区并直接键入
temp
并让R加载库时,我只得到这些信息

temp
Loading required package: raster
Loading required package: sp
class       : RasterBrick
dimensions  : 180, 360, 64800  (nrow, ncol, ncell)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84
没有办法让它显示其他信息,我必须重新启动会话并首先加载
库(光栅)
。另一个问题是,有时它显示min/max,有时不显示,有时它的格式很奇怪(这里显示的很好,但在我的R中)。当我丢失所有图层名称时,我使用setValues函数创建了一块砖块

>temp
class       : RasterBrick
dimensions  : 180, 360, 64800, 2928  (nrow, ncol, ncell, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0, 360, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84
data source : /tmp3/RtmpHJiJol/raster/r_tmp_2016-08-18_123238_52879_95962.grd
names       :      layer.1,      layer.2,      layer.3,      layer.4,      layer.5,      layer.6,      layer.7,      layer.8,      layer.9,     layer.10,     layer.11,     layer.12,     layer.13,     layer.14,     layer.15, ...
min values  : 1.786824e-09, 1.786824e-09, 1.786253e-09, 1.785112e-09, 1.773258e-09, 1.377443e-09, 1.369023e-09, 2.394694e-09, 2.461454e-09, 2.507693e-09, 2.537011e-09, 2.585615e-09, 2.623897e-09, 2.651393e-09, 2.654030e-09, ...
max values  :     1.000675,     1.000675,     1.000675,     1.000675,     1.000671,     1.000674,     1.000672,     1.000668,     1.000675,     1.000675,     1.000672,     1.000675,     1.000655,     1.000675,     1.000671, ...

保存和重新加载工作区是不好的做法。这会产生很多问题,不幸的是R建议你这么做。相反,在每个会话中,您应该从头开始,使用脚本复制您需要的内容。如果这需要很多时间,那么将中间文件保存到磁盘

如果已知最小值和最大值(由文件提供),则会显示它们。标准ncdf文件不提供此信息

setValues
之后图层名称的丢失不是显示问题(可以将其视为功能,而不是bug)。以下是有效的houw:

library(raster)
r <- raster(ncol=10, nrow=10)
vals <- 1:ncell(r)
r[] <- vals
s <- stack(r,r)
names(s) <- c('a', 'b')
你当然可以改变它们

names(x) <- names(s)
#[1] "a" "b"
names(x)

names(x)保存和重新加载工作区是不好的做法。这会产生很多问题,不幸的是R建议你这么做。相反,在每个会话中,您应该从头开始,使用脚本复制您需要的内容。如果这需要很多时间,那么将中间文件保存到磁盘

如果已知最小值和最大值(由文件提供),则会显示它们。标准ncdf文件不提供此信息

setValues
之后图层名称的丢失不是显示问题(可以将其视为功能,而不是bug)。以下是有效的houw:

library(raster)
r <- raster(ncol=10, nrow=10)
vals <- 1:ncell(r)
r[] <- vals
s <- stack(r,r)
names(s) <- c('a', 'b')
你当然可以改变它们

names(x) <- names(s)
#[1] "a" "b"
names(x)

name(x)谢谢!使用get/setValues函数时有没有保存图层名称的方法?我已经扩展了,谢谢!在使用get/setValues函数时,有没有保存图层名称的方法?我已经对此进行了扩展