2016-04-13 4 views
-2

に私はggplot2を使用してクラスタをプロットしようとしていますが、私はエラーがggplot2

Error: ggplot2 doesn't know how to deal with data of class factor

次のエラーを取得する私のデータは

samp2 

structure(list(PVALUE1 = c(0.000244, 0.000244, 0.001221, 0.000244, 
0.000732, 0.000244), PVALUE2 = c(0.000244, 0.000732, 0.000732, 
0.000732, 0.001953, 0.000244), PVALUE3 = c(0.000244, 0.001953, 
0.001221, 0.000244, 0.000244, 0.000244), PVALUE4 = c(0.000732, 
0.000244, 0.000732, 0.000732, 0.001221, 0.000244), PVALUE5 = c(0.000244, 
0.000244, 0.001221, 0.000732, 0.005859, 0.000244), PVALUE6 = c(0.000244, 
0.00293, 0.001221, 0.303711, 0.00293, 0.000244), PVALUE7 = c(0.000244, 
0.00293, 0.000244, 0.000732, 0.000732, 0.000244), PVALUE8 = c(0.000244, 
0.001221, 0.000732, 0.000244, 0.001953, 0.000244), PVALUE9 = c(0.000244, 
0.000732, 0.000732, 0.000732, 0.00293, 0.000244), PVALUE10 = c(0.000732, 
0.01416, 0.000732, 0.001953, 0.001221, 0.000244), PVALUE11 = c(0.000244, 
0.000732, 0.000732, 0.005859, 0.001953, 0.000244), cluster = structure(c(2L, 
2L, 2L, 2L, 2L, 2L), .Label = c("1", "2"), class = "factor")), .Names = c("PVALUE1", 
"PVALUE2", "PVALUE3", "PVALUE4", "PVALUE5", "PVALUE6", "PVALUE7", 
"PVALUE8", "PVALUE9", "PVALUE10", "PVALUE11", "cluster"), row.names = c("A2M", 
"AAAS", "AACS", "AADAT", "AAGAB", "AAK1"), class = "data.frame") 

で、センターは

centers 

PVALUE1 PVALUE2 PVALUE3 PVALUE4 PVALUE5 PVALUE6 PVALUE7 PVALUE8 
1 0.49755105 0.56381653 0.56706751 0.5336074 0.54674859 0.54398645 0.56531453 0.58162957 
2 0.03481979 0.04874772 0.05312517 0.0447989 0.04720369 0.05724064 0.05257442 0.06362684 
    PVALUE9 PVALUE10 PVALUE11 
1 0.56174089 0.59716210 0.53878320 
2 0.04778373 0.06540369 0.04371612 
です

私が使用したコードは

です10
ggplot(data=head(samp2$cluster), aes(x=principal_comp1, y=principal_comp2, color=cluster)) + 
    geom_point()+ 
    geom_point(data=centers, aes(x=V1,y=V2, color='Center')) + 
    geom_point(data=centers, aes(x=V1,y=V2, color='Center'), size=52, alpha=.2) 

それを動作させる方法。

+0

ggplot2はdata.franeとしてデータ入力を受け入れますので、リストをデータフレームに変換する必要があります –

答えて

0

問題は、ggplotのデータがdata.frame全体ではなく1つの列にすぎないということです。次に、存在しない列を呼び出しています。これはプロットの最初の部分を修正するはずです。

センターを追加するには、data.frameの列の名前を使用する必要があります。 color = "center"を設定すると、すべてのセンターで同じ色が得られます。 data.frameにクラスタ番号を要素として追加して使用します。

+0

すべての列を一度にプロットすることはできません。 –

+0

どのように? 9D散布図?どうして?あなたのPCAは最初の数軸のデータの最も重要な変化の軸を抽出する必要があります。これはプロットしたい軸です。 PCA9はめったに興味深いものではありません。 –

関連する問題