6

プロットにgeom_ribbonオブジェクトを追加しようとしています。ggplot2私のデータフレームにはNA、問題を引き起こす可能性のある値があります。これは、私が持っているデータ フレームの再現可能な例です。

base <- c(1:10, rep(NA, 10))
output1 <- c(rep(NA, 9), 10 - 0:10)
output2 <- c(rep(NA, 9), 10 + 0:10)
xaxis <- 1:20

df <- data.frame(xaxis, base, output1, output2)
df

     xaxis base output1 output2
  1      1    1      NA      NA
  2      2    2      NA      NA
  3      3    3      NA      NA
  4      4    4      NA      NA
  5      5    5      NA      NA
  6      6    6      NA      NA
  7      7    7      NA      NA
  8      8    8      NA      NA
  9      9    9      NA      NA
  10    10   10      10      10
  11    11   NA       9      11
  12    12   NA       8      12
  13    13   NA       7      13
  14    14   NA       6      14
  15    15   NA       5      15
  16    16   NA       4      16
  17    17   NA       3      17
  18    18   NA       2      18
  19    19   NA       1      19
  20    20   NA       0      20

ggplot2そして、オブジェクトをプロットする私の試みgeom_ribbon:

  dfm <- melt(df, id=1)
  ggplot(dfm, aes(x = xaxis, y = value, colour = variable)) + 
    geom_line(aes(group=variable)) + 
    geom_ribbon(data=df, aes(group = 1, ymin=output1, ymax=output2))

そして、最終的に、対処できないエラーが発生しました

Error in eval(expr, envir, enclos) : object 'variable' not found

ご提案いただきありがとうございます。

4

2 に答える 2

16

関数variableの色に が使用されているため、このエラーが発生しました。新しいデータ フレームを追加すると、新しいデータ フレームを検索して色に使用しようとします。この変数を無視するには、内部に追加します。つまり、すべてのパラメーターを個別に取得する必要があることを示しています。そのように、 で再度設定する必要があります。aes()ggplot()geom_ribbon()geom_ribbon()variableinherit.aes=FALSEgeom_ribbon()x=xaxisgeom_ribbon()

ggplot(dfm, aes(x = xaxis, y = value, colour = variable)) + 
  geom_line(aes(group=variable)) + 
  geom_ribbon(data=df, aes(group = 1, x = xaxis,ymin=output1, ymax=output2),
                       inherit.aes=FALSE)
于 2013-11-10T15:51:03.683 に答える