2017-12-09 15 views
2

私はRの助けを借りて非常に感謝しています。グリッドデータのデータフレームをプロットしたいと思います(左上から右下に斜めに走っているようです)。私はggplot2を使ってかなりの例を見てきましたが、データ構造を操作するためにRに必要な経験が不足しています。私はまだ私の頭がヒートマップ/グリッドとしてRにデータフレームをプロットする方法は?

データ:-(Rの周りに取得することはありません年間、LISPとJavaでプログラミングをしてきたことは次のようになります。これは、小さなサブセットだけが

    tension cluster  migraineNoAura   migraineAura 
tension     NA   1.5  6.960453e+00   3.596953 
cluster  1.943113e+08   NA     NA    NA 
migraineNoAura 8.462798e+00   NA     NA   7.499999 
migraineAura 2.833333e+00   NA  7.148313e+07    NA 

で、それは60x60ですデータフレーム。NA秒に注目してください。

私は、60x60のグリッドを期待値で着色し、xとyは、データフレームから名前を使用して標識しています。

+0

これは意味がありません。どの変数がxとyにマップされていますか?ヒートマップの色にマッピングする値はどこにありますか?助けが必要な場合は、より具体的にする必要があります。 – leeum

答えて

3

まず、あなたはあなたをフォーマットする必要がありますワイドフォーマットからロングフォーマットへのデータフレーム。以下は、データフレームをフォーマットするためにtidyverseを使用してください。

library(tidyverse) 

dt2 <- dt %>% 
    rownames_to_column() %>% 
    gather(colname, value, -rowname) 
head(dt2) 
#   rowname colname  value 
# 1  tension tension   NA 
# 2  cluster tension 1.943113e+08 
# 3 migraineNoAura tension 8.462798e+00 
# 4 migraineAura tension 2.833333e+00 
# 5  tension cluster 1.500000e+00 
# 6  cluster cluster   NA 

は、今、私たちはgeom_tileを使用してヒートマップをプロットするggplot2を使用する準備が整いました。

ggplot(dt2, aes(x = rowname, y = colname, fill = value)) + 
    geom_tile() 

enter image description here

+0

ありがとう!それはまさに私が必要としたものでした。素晴らしい説明も。 –

関連する問題