1

ここに染色体の長さ全体の値をプロットします

ここに画像の説明を入力してください

ポイントのない中央の領域にはデータが含まれていないため、レスラインを取得することはできません。この領域のレスラインを停止するようにコードを変更するにはどうすればよいですか?データは連続していますが、空白の領域を特別な値でマークする行を追加したり、ラベルの付いた列を追加したりできますか?しかし、これをコマンドで使用するにはどうすればよいですか?

私の現在のコマンド:

library(IDPmisc)

# plot settings (edit here)
spanv<-0.05
pointcol1="#E69F00"
pointcol2="#56B4E9"
pointcol3="#009E73"
points=20
linecol="green"
xlabs=paste(onechr, " position", " (loess-span=", spanv, ")", sep="")

data1<-NaRV.omit(data[,c(2,7)]) # keep only x and y for the relevant data 
                                # and clean NA and Inf
ylabs='E / A - ratio'
p1<-ggplot(data1, aes(x=start, y=E.R)) +
ylim(0,5) +
geom_point(shape=points, col=pointcol1, na.rm=T) +
geom_hline(aes(yintercept=1, col=linecol)) +
geom_smooth(method="loess", span=spanv, fullrange=F, se=T, na.rm=T) +
xlab(xlabs) +
ylab(ylabs)
4

1 に答える 1

6

私は2つのことのうちの1つをします:

  1. loess()の外側でフィッティングggplot()を行い、2つの領域を別々に予測し、予測の各セットを独自のgeom_line()レイヤーでプロットに追加します。
  2. 上記と同様ですが、今回ggplot()は操作の範囲内です。プロットに2つのレイヤーを追加します。どちらもを使用しますgeom_smooth()が、重要なことにdata、データの一方または他方の部分のみを参照するように、それぞれに提供される引数を変更します。

後者の場合、おそらく次のようなものです。

....
geom_smooth(data = data[1:n, ], method="loess", span=spanv, fullrange=FALSE, 
            se=TRUE, na.rm=TRUE) +
geom_smooth(data = data[m:k, ], method="loess", span=spanv, fullrange=FALSE, 
            se=TRUE, na.rm=TRUE)
....

ここでnmおよびkは、セット1の終了およびセット2の開始と終了をマークし、ユーザーが直接定義または提供する必要があるインデックスを参照します。

于 2012-05-10T09:03:09.690 に答える