私は、2つの変数aとbの間に相互作用があり、私の応答変数に大きな影響を与えていると言ったモデルがあります。 3つはすべて連続した数値変数です。詳細については、cは私の応答変数の変化率、bは予測変数の変化率、そしてaは平均年間降雨量です。解析単位は、ラスタ内のピクセルです。だから、私のモデルは、私のプレディクタが私の反応にどのように影響するかを年降水量が変更することを意味していると私に言います3つの連続変数からの等高線プロットまたはヒートマップ
この相互作用を視覚化するために、x軸とy軸にaとbを付けた等高線プロット/ヒートマップ/レベルプロットを使用したいと思います。 aとb。私は非常にきれいや解釈が容易な散布図でこれを行うが、そのことはできません。
qplot(b, a, colour = c) +
scale_colour_gradient(low="green", high="red") +
を私が得るすべてのエラーですが、私は等高線図/ヒートマップ/レベルのプロットをプロットしようとすると、 、空白のプロットまたは醜いプロット。
ggplot(data = Mod, aes(x = Rain, y = Bomas, z = Fire)) +
geom_contour()
Warning message:
Not possible to generate contour data
geom_raster
が最初に私にError: cannot allocate vector of size 81567.2 Gb
を与えますが、私は私のデータを丸めるときに生成します:
geom_contour
ggplot(data = df, aes(x = a, y = b, z = c)) +
geom_raster(aes(fill = c))
geom_raster
コードにinterpolate = TRUE
を追加するだけで線が少しぼやけます。
geom_tile
は空白のグラフを生成しますが、Cのためのスケールバーで:
ggplot(data = df, aes(x = a, y = b, z = c)) +
geom_tile(aes(color = c))
私もstat_density2d
を使用してCに充填および/または色を設定しようとしましたが、ちょうどエラーを得て、私もlattice
パッケージにlevelplot
を使用してみましたが、それは、この生成します
levelplot(c ~ a * b, data = df,
aspect = "asp", contour = TRUE,
xlab = "a",
ylab = "b")
私が遭遇している問題は、関数が連続するxとy変数を扱うように設定されていないと思われます。すべての例は要素を使用しているようです。私はビンの幅を変えることでこれを補うことができると思っていただろうが、それはうまくいかないようだ。 3つの連続変数でヒートマップを作成できる関数はありますか?あるいは、私のaおよびb変数を要因として扱い、私のデータに適したビンを持つデータフレームを手動で作成する必要がありますか?
あなた自身のために試してみたいなら、あなたは私が持ってるものに同様の問題を得る:
df<- as.data.frame(rnorm(1:1068))
df[,2] <- rnorm(1:1068)
df[,3] <- rnorm(1:1068)
names(df) <- c("a", "b", "c")
はあなたの最初の図の色は全体のプロットをカバーして、これは拡張することができるどのように知っていますか? – James
観測値のないビンの平均値は計算できません。 – Axeman