1

いくつかのデータ フレームを 1 つのデータ フレームに結合dfcし、5 番目の列で、modelどのモデルを代入に使用したかを指定しました。でグループ化して分布をプロットしたいと思いますmodel

dfc次のようになります: (1000 行、5 列)

X1        X2        X3        X4      model
1500000 400000    0.542      7.521    actual
250000  32000     2.623     11.423   missForest
...

以下の行を使用してプロットします。

library(lattice)
densityplot(X1 + X2 + X3 + X4, group = dfc$model)

与える:

比較

X1 <- dfc$X1(および同様に)ことに注意してください

私の質問は次のとおりです。

  • このプロットに凡例を追加するにはどうすればよいですか? (どの色がどのモデルに属しているか分からない場合、このプロットは役に立ちません)
  • おそらく、これをプロットするためのより視覚的に魅力的な方法はありますか? を使用してggplot、おそらく?
  • これらのモデルを比較するより良い方法はありますか? たとえば、各列を個別にプロットできます。
4

3 に答える 3

0

私がしなければならなかったのは、引数を設定することだけでした:

densityplot(X1 + X2 + X3 + X4, group = dfc$model, auto.key = TRUE)希望のプロットを与える

これは本質的に私が必要としていたものです

densityplot()問題は、 R がどちらを使用しているのかわからなかったことです。

質問の他の部分は未解決のままです。

于 2016-06-17T05:04:44.527 に答える
0

ggplot を使用した高速密度プロット。

library(ggplot2)
library(reshape2)
a <- rnorm(50)
b <- runif(50, min = -5, max = 5)
c <- rchisq(50, 2)

data <- data.frame(rnorm = a, runif = b, rchisq = c)
data <- melt(data) #from reshape2 package

ggplot(data) + geom_density(aes(value, color = variable)) + 
               geom_jitter(aes(value, 0, color = variable), alpha = 0.5, height = 0.02 ) 

ここに画像の説明を入力

備考:reshape2ggplotは「長い」データが好きで、あなたのデータは「広い」と思うので、パッケージを追加しました。

各列を別々にプロットすると、次のようになります。

ggplot(data) + geom_density(aes(value, color = variable)) 
             + geom_point(aes(value, 0, color = variable))  
             + facet_grid(.~variable)

ここに画像の説明を入力

colorここでは色が冗長かもしれませんが、引数を削除するだけです。

于 2016-06-16T08:32:38.210 に答える