0

次の問題があります。レイヤー スタックの名前を変更できませんでした。

これが私のコードの例です。

###
f <- system.file("external/test.grd", package="raster")
r <- raster(f)
oo<-stack(r,r,r,r,r,r,r,r,r,r,r,r,r,r,r,r)
names(oo) <- as.character(2000:2015)
names(oo)
histogram(oo,na.rm=T,col="blue",
          panel = function(x, ...) {
          panel.histogram(x, ...)
          panel.mathdensity(dmath = dnorm, col = "red",
                   args = list(mean=mean(x),sd=sd(x)),lwd=2.5)
})
###

数字のみを使用する場合

names(oo) <- as.character(2000:2015)

結果: 名前(oo)

[1] "X2000" "X2001" "X2002" "X2003" "X2004" "X2005" "X2006" "X2007" "X2008"
[10] "X2009" "X2010" "X2011" "X2012" "X2013" "x2014" "X2015"

イメージに見られるように:

出力 しかし、「X」なしで必要です。

[1] "2000" "2001" "2002" "2003" "2004" "2005" "2006" "2007" "2008"
[10] "2009" "2010" "2011" "2012" "2013" "2014" "2015"

どうやら数字では機能しないようです。

names(oo) <- paste0("hola",1:16)
names(oo)

[1] "hola1"  "hola2"  "hola3"  "hola4"  "hola5"  "hola6"  "hola7"  "hola8" 
[9] "hola9"  "hola10" "hola11" "hola12" "hola13" "hola14" "hola15" "hola16"

その結果、プロットでは問題ありません。

PD: パラメータも試してみてください:

names.attr=as.character(2000,2015)

すべての提案を歓迎します。

ご挨拶!

4

1 に答える 1

1

names.attr引数は関数に実装されていhistogramません (まだ)。代わりに、元の関数stripによって提供される引数を使用する必要があります。lattice::histogram

f <- system.file("external/test.grd", package="raster")
r <- raster(f)

oo <- stack(replicate(8, r))
nms <- as.character(2000:2015)

histogram(oo, na.rm = T, col = "blue",
          strip = strip.custom(factor.levels = nms),
          panel = function(x, ...) {
                  panel.histogram(x, ...)
                  panel.mathdensity(dmath = dnorm, col = "red",
                                    args = list(mean=mean(x),
                                               sd=sd(x)),
                                    lwd=2.5)
          })
于 2015-10-15T11:36:53.830 に答える