2017-01-17 10 views
2

5つの列名と10の行名を持つデータフレームがあります。このデータフレームの値は、-1〜1の間の数値とNAsから構成されます。すべての行名と列名を含むグラフをプロットする

   Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 
Param1    NA  NA  NA  NA  NA 
Param2    NA  NA  NA  NA 0.9035769 
Param3  0.9810636  NA  NA  NA  NA 
Param4    NA  NA  NA  NA  NA 
Param5    NA  NA  NA  NA  NA 
... 
Param10    NA  NA  NA  NA  NA 

グラフをプロットすると、行の名前がY軸に、列の列がX軸になります。また、値は特定の色の点を表し、この色の陰影は1または-1に近い値を決定します。 NAsはクロスマークであっても無視してもかまいません。

ありがとうございます!

library(reshape2) 
df$row.names<-rownames(df) 
long.df<-melt(df,id=c("row.names")) 
plotted<-ggplot(long.df,aes(x=row.names,y=variable,color=value))+geom_point() 

注::あなたは、行&列値の複数の組み合わせを持っている場合は、これを:

答えて

2

私はあなたが探しているものを全くわからないが、私はこれを行うための一つの方法は次のようになり仮定推測しますオーバープロットになります。これはどちらかgeom_jitter()または注2

facet_wrap()/ facet_grid()を介して処理することができます::あなたは&は、データを重複していませんヤン李の答えあたりのヒートマップ出力の多くをしたい場合は、あなたの代わりに geom_tiles()または geom_raster()のいずれかを使用します geom_point()

+0

ありがとうございました!これは私のために働いた。 私は多くのNAsを持っていたので、このコードを修正しました。 (df1、id = c( "row.names")、na.rm = TRUE) 'df1 $ row.names <-rownames(df1) long.df1 <-melt – Chetan

+0

もう1つの質問ですが、私はそのようなデータフレームがたくさんあります(同じ列ですが、行の数は変わるかもしれません。 )、このような多くのプロットが生成されます。それらを1つのプロットにどのように組み合わせるべきですか? – Chetan

+0

データセットを 'rbind()'するだけでよいでしょう。列が同じであれば、その長さは関係ありません。 –

1

私が正しく理解していれば、基本的にヒートマップが必要です。その場合、あなたの質問はduplicateであるかもしれませんが、あなたが持っている特定のデータフレームに基づいてヒートマップを行う方法をいくつか示します。

これはあなたのデータであり、私は簡単にするために、行と列の数を減らすだろうと仮定します。

df <- data.frame(Comp.1 = c(0.3, -0.2, -1, NA, 1), 
      Comp.2 = c(-0.4, -0.1, NA, 0, 0.6), 
      Comp.3 = c(0.2, NA, -0.4, 0.3, NA)) 
row.names(df) <- c("Param1", "Param2", "Param3", "Param4", "Param5") 

ベースR

まず、行列に変換します。

df_matrix <- data.matrix(df) 

次に、heatmap()のような機能を使用できます。

heatmap(df_matrix, Rowv=NA, Colv=NA, col = cm.colors(256), scale="column", margins=c(5,10)) 

                                                                                                      heatmap1

あなたはcolパラメータで使う色を変更することができます。他にもrainbow()heat.colors()topo.colors()などのパレットが組み込まれていますが、まだそれほど大きくは見えませんので、他のパッケージを試してみてください。

library(plotly) 

plot_ly(
    x = names(df), y = row.names(df), 
    z = df_matrix, type = "heatmap" 
) 

                           :

Plotlyパッケージ

plotlyパッケージをインストールし、その後、このコードを使用します                                                              heatmap2

A色をカスタマイズしたい場合は、追加のパラメータとしてcolors = <Insert your color range here>を追加するだけです。このヒートマップもインタラクティブです。

関連する問題