2016-05-04 12 views
1

plot(data$pco$li[,1], data$pco$li[,2])を使用してデータの散布図を生成しました。その結果、PCA散乱出力が得られます。私は今、そのカテゴリー(各点は遺伝子であり、それが属する染色体に従ってそれを色づけしたい)にしたがって散布図上の各点を色づけしたい。R:散布図のカラーポイントにdata.frame情報を使用

私は2列目の列1および染色体における遺伝子と準備ができたファイルを持っている、そして使用してRにそれをロードしています。ここから、私はポイントを色付けするために、この情報を使用する方法がわからない

geneLoc <- read.table(file = "~/Location/File.txt", header = FALSE, sep = "\t") 
colnames(geneLoc) <- c("Gene", "Chromosome") 

散布図上で私が見つけた最も近い答えはここにあります:Colouring scatter graph by type in r

しかし、私のデータは2列のテーブルの形ではありません(PCAを実行するTreescapeというパッケージの結果)。これは、この形式のため、次のとおりです。

  gene1 gene2 gene3 gene4 gene5 gene6 gene7 gene8 gene9 
gene2 33.76389                   
gene3 51.12729 47.74935                
gene4 27.62245 31.38471 52.12485              
gene5 33.92639 28.44293 53.74942 28.67054            
gene6 32.28002 26.57066 43.72642 29.54657 25.51470          
gene7 34.65545 30.08322 54.06478 30.59412 24.89980 27.00000       
gene8 31.09662 27.44085 48.89785 27.49545 26.87006 24.59675 26.79552     
gene9 36.20773 28.82707 50.94114 31.24100 24.53569 24.06242 25.41653 27.60435   
gene10 36.53765 28.75761 53.86093 30.46309 23.62202 25.00000 27.82086 28.87906 25.33772 

そのように私は単に私の散乱を着色する2つの列のデータフレームに第三のカテゴリーの列を追加し、それを使用することはできません。

+0

詳細をお知らせください。データフレームデータは何ですか? whateはgeneLocです。助けを得るための最善の方法は、SOユーザーが実験できるように、問題のサンプルデータを与えることです。ダミーの例がありますか?この[post](http://stackoverflow.com/questions/36801274/colouring-scatter-graph-by-type-in​​-r?lq=1)の回答を見てください。 – DJJ

+1

こんにちは、私は私のポストでその答えを言及した、それは問題だった私のデータの構造だった。幸いにも、ahrwhiteのreshape2の溶融関数の使用のアドバイスは、私のためのトリックを行っています。 – spiral01

答えて

1

次の形式にデータを変換する必要があります。

Var1  Var2  Value 
gene1  gene2  33.76389 
gene1  gene3  51.12729 

あなたは、簡単に4番目の列を追加することができます。パッケージreshape2には、このトリックを行うmeltという関数があります。まずは、あなたの上記の例と同様の行列を生成してみましょう:

mydata <- matrix(data=rnorm(81, 25, 10), ncol=9, nrow=9) 
colnames(mydata) <- paste0("gene", 1:9) 
rownames(mydata) <- paste0("gene", 2:10) 
mydata[upper.tri(mydata, diag=T)] <- NA 

今、私たちは、私は上記の「長い」形式にこれを有効にするreshape2を使用することができます。

library(reshape2) 
meltdata <- melt(mydata) 

あなたは今すぐに列を追加することができますプロットのためのメルタータの権利。 ggplot2ライブラリは、この形式で構造化されたデータをプロットするのに適しています。

+0

ありがとう、そのパッケージは私が探していたものです! – spiral01