2

現在、私は卒業論文を書いており、すべてのプロットは ggplot2 で作成されています。今、2 つの ecdfs のプロットが必要ですが、私の問題は、2 つのデータフレームの長さが異なることです。しかし、長さを均等にするために値を追加すると、分布が変わるため、最初の考えは不可能です。ただし、長さが異なる 2 つの異なるデータフレームを含む ecdf プロットは禁止されています。

daten <- peptidPSMotherExplained[peptidPSMotherExplained$V3!=-1,]
daten <- cbind ( daten , "scoreDistance"= daten$V2-daten$V3 )    
daten2 <- peptidPSMotherExplained2[peptidPSMotherExplained2$V3!=-1,]
daten2 <- cbind ( daten2 , "scoreDistance"= daten2$V2-daten2$V3 )
p <- ggplot(daten, aes(x = scoreDistance)) + stat_ecdf()
p <- p + geom_point(aes(x = daten2$lengthDistance))
p

Rの通常のプロット関数では可能です

plot(ecdf(daten$scoreDistance))
plot(ecdf(daten2$scoreDistance),add=TRUE)

しかし、それは私の他のすべてのプロットとは異なって見え、私はこれが嫌いです.

誰かが私のための解決策を持っていますか?

ありがとう、トバイアス


例:

df <-data.frame(scoreDifference = rnorm(10,0,12))
df2 <- data.frame(scoreDifference = rnorm(5,-3,9)) 
plot(ecdf(df$scoreDifference))
plot(ecdf(df2$scoreDifference),add=TRUE)

では、どうすればこの種のプロットをggplotで実現できますか?

4

2 に答える 2

1

そのようなプロットにどのgeomを使用すればよいかわかりませんが、2つのデータセットを組み合わせるには、新しいレイヤーでデータを指定するだけです.

ggplot(df, aes(x = scoreDifference)) + 
  stat_ecdf(geom = "point") + 
  stat_ecdf(data=df2, geom = "point") 
于 2013-05-21T13:48:01.073 に答える
0

データを正しい方法で再形成すると、おそらく ggplot2 が機能するようになると思います。

df <-data.frame(scoreDiff1 = rnorm(10,0,12))
df2 <- data.frame(scoreDiff2 = rnorm(5,-3,9))
library('reshape2')
data <- merge(melt(df),melt(df2),all=TRUE)

次に、data適切な形状で、2 つのデータセットを区別するために色 (または形状、または任意のもの) を使用してプロットを続けることができます。

p <- ggplot(daten, aes(x = value, colour = variable)) + stat_ecdf()

これがあなたが探していたものであることを願っています!?

于 2013-05-21T14:11:04.943 に答える