-2

このような .tsv ファイルがあります

MODEL           CA_RMSD BB_RMSD ALL_ATOM s1      s2     s3   
101_res_input   2.89    2.89    3.17    -84.37  -46.77  0.81   
102_res_input   3.29    3.29    3.52    -85.21  -50.49  1.04
103_res_input   3.74    3.73    3.98    -90.93  -48.18  1.65
104_res_input   3.09    3.07    3.34    -92.16  -49.63  1.03
105_res_input   3.44    3.43    3.69    -89.92  -49.81  1.08

私が望むのは、CA_RMSD 対 s1 を含む 1 つのグラフ、次に CA_RMSD 対 s2 を含む別のグラフ、CA_RMSD 対 s3 を含む別のグラフなどです。散布図は、おそらく私が想像する中で最もうまくいくでしょう。私はggplot2を初めて使用しますが、すべてのプロットを同じ画像に表示したいのでファセットを使用したいようですが、プロットごとにy軸を異なるスケールにする必要があります。

各プロットについて、どのデータセットが最もよく相関しているかを示すスケールの線形回帰を取得できますか? これを行うには、私が見逃している機能が必要です。

J

4

1 に答える 1

3

これはどう?

require(ggplot2)
require(reshape2)
df.m <- melt(df, id.var = "CA_RMSD", measure.var = c("X.s1", "s2", "s3"))
p <- ggplot(data = df.m, aes(x = CA_RMSD, y = value)) + 
    geom_point() + 
geom_smooth(method = "lm") + 
    facet_wrap(~ variable, nrow=1, scales="free")
cors <- ddply(df.m, .(variable), summarise, cor = round(cor(CA_RMSD, value), 2))
p + geom_text(data=cors, aes(label=paste("r=", cor, sep=""), 
                   x=c(3,3,3), y=c(-75, -50, 0)))

ここに画像の説明を入力

于 2013-03-18T16:41:54.367 に答える