0

この例に従う:

http://wiki.stdout.org/rcookbook/Graphs/Multiple%20graphs%20on%20one%20page%20(ggplot2)/

「ダイエットごとの適合成長曲線」というタイトルのグラフを参照してください。同じことを実行したいのですが、次のようなCSVファイルにあるデータのセットを使用します(列「N」を除く値はµs単位です)。

$ head RandomArray25PercentDup.csv 
N   SystemSort  QuickSort   RandomizedQuickSort TopDownMergeSort    BottomUpMergeSort   SelectionSort   InsertionSort   BubbleSort  
4   0   1   0   1   0   1   0   0   
5   0   0   0   1   1   0   1   0   
6   0   0   0   1   1   0   0   0   
7   0   0   0   0   1   0   0   0   
8   0   0   1   0   1   0   1   1   

...

私はこれまでこれを試しました:

library(ggplot2)
library(reshape2)

data <- read.table("RandomArray25PercentDup.csv",
                   sep="\t",
                   header=TRUE)
data.m <- melt(data, id.vars = 1)

ggplot(data.m, aes(data, value, colour=variable)) +
    geom_point(alpha=.3) +
    geom_smooth(alpha=.2, size=1) +
    ggtitle("Random array with ~25% duplicate values")

Rでの私のバックグラウンドは非常に限られており、さまざまなリソースを使用して学習しようとしています。

私は約800,000行に相当するデータを持っており、各Nの測定を20回繰り返しています(各アルゴリズムのフィッティング曲線を使用して散布図を透明に表示したい理由)。

4

1 に答える 1

2

これを置き換える

data.m <- melt(data, id.vars = 1)

data.m <- melt(data, id.vars = "N")

その後

ggplot(data.m, aes(data, value, colour=variable)) +
    geom_point(alpha=.3) +
    geom_smooth(alpha=.2, size=1) +
    ggtitle("Random array with ~25% duplicate values")

ggplot(data.m, aes(N, value, colour=variable)) +
    geom_point(alpha=.3) +
    geom_smooth(alpha=.2, size=1) +
    ggtitle("Random array with ~25% duplicate values")

トリックを行う必要があります。最初の置換は実際には必要ありませんが、列の順序が変更された場合に備えて変数名を使用することを常にお勧めします。の最初の引数aesはx軸にマップされます。dataは列ではないため、マッピングできません。

于 2012-12-18T22:58:34.810 に答える