4

ヒートマップの作成に使用しているデータ セットがあります。問題の 1 つは、一部のセルにはメンバーがほとんどなく、他のメンバーによって平均化されていない外れ値が含まれている可能性があることです。

この目的のために、セル (セルの中央にあるプロット) に実際にいくつの例がセルに含まれているかを含めたいと思います。

以下は、ヒートマップの私のコードです。

library(fields)
library(akima)

x1 <- round(runif(20) * 100,0)
y1 <- round(runif(20) * 100,0)
z1 <- round(runif(20) * 100,0)

s <- interp(x1,y1,z1,
        xo = seq(0,100,20)
        ,yo = seq(0,100,20)
        )

image.plot(s)

助言がありますか?

4

1 に答える 1

2

セルの角と中心の両方を計算したら、 と を使用findIntervaltableて観測値を数えることができます。

library(fields)
library(akima)

x1 <- floor(runif(20) * 100)
y1 <- floor(runif(20) * 100)
z1 <- floor(runif(20) * 100)

# Corners of the cells, to count the observations
x0 <- seq(0,100,20)
y0 <- seq(0,100,20)

# Centers of the cells, for the interpolation
x00 <- x0[-length(x0)] + diff(x0) / 2
y00 <- y0[-length(y0)] + diff(y0) / 2

s <- interp(x1,y1,z1, xo=x00, yo=y00)
image.plot(x=x0, y=y0, z=s$z)

counts <- table( 
  findInterval(x1, x0),
  findInterval(y1, y0)
)
# Plot the observations, to check that I have not confused rows and columns
points( x1, y1 )
# Number of observations
text(x=x00[row(counts)], y=y00[col(counts)], labels=counts)

カウント付きのimage.plot

于 2013-07-30T15:12:08.913 に答える