13

Rで5次元プロットをプロットしようとしています。現在、rglパッケージを使用して、x、y、z座標として3つの変数、色として別の変数を使用して、データを4次元でプロットしています。このパッケージを使用して、スペース内の点のサイズや形状など、5 番目の変数を追加できるかどうか疑問に思っています。これが私のデータと私の現在のコードの例です:

set.seed(1)
df <- data.frame(replicate(4,sample(1:200,1000,rep=TRUE)))
addme <- data.frame(replicate(1,sample(0:1,1000,rep=TRUE)))
df <- cbind(df,addme)
colnames(df) <- c("var1","var2","var3","var4","var5")
require(rgl)
plot3d(df$var1, df$var2, df$var3, col=as.numeric(df$var4), size=0.5, type='s',xlab="var1",ylab="var2",zlab="var3")

5次元ができることを願っています。どうもありがとう、

4

1 に答える 1

27

ここにggplot2オプションがあります。適切に解釈するのが難しいため、私は通常、3D プロットを敬遠します。また、ここにあるのと同じプロットに5つの連続変数を入れることはほとんどありません...

ggplot(df, aes(x=var1, y=var2, fill=var3, color=var4, size=var5^2)) +
  geom_point(shape=21) +
  scale_color_gradient(low="red", high="green") +
  scale_size_continuous(range=c(1,12))

ここに画像の説明を入力

これは少し面倒ですが、実際にはほとんどの点で 5 つの次元すべてを適切に読み取ることができます。

変数の一部がカテゴリカルである場合、多次元プロットへのより良いアプローチが開かれます。すべての変数が連続的である場合は、それらの一部をカテゴリに変換してから、またはをcut使用してそれらをプロットできます。facet_wrapfacet_grid

たとえば、ここでは分割して五分位var3var4分けて使用facet_gridしています。色の美学も維持していることに注意してください任意のグリッドセル内で均一):

df$var4.cat <- cut(df$var4, quantile(df$var4, (0:5)/5), include.lowest=T)
df$var3.cat <- cut(df$var3, quantile(df$var3, (0:5)/5), include.lowest=T)

ggplot(df, aes(x=var1, y=var2, fill=var3, color=var4, size=var5^2)) +
  geom_point(shape=21) +
  scale_color_gradient(low="red", high="green") +
  scale_size_continuous(range=c(1,12)) +
  facet_grid(var3.cat ~ var4.cat)

ここに画像の説明を入力

于 2014-04-21T14:49:12.733 に答える