0

次のようなデータフレームがあります。

| id | length_bgn | length_end |
--------------------------------
| 1  |   209      |    215     |
| 2  |   324      |    125     |
| 3  |   167      |    156     |
| .. |   ...      |    ...     |
--------------------------------

X軸に最小の長さ(行あたり)、Y軸に最大の長さ(行あたり)の散布図を作成したいと思います。私が試してみました:

qplot(min(length_bgn, length_end), max(length_bgn, length_end), data=df)

ただし、これは両方の列の最大値に対して両方の列の最小値の単一のポイントをプロットします。間違った機能を使用していますか?それとも、データフレームを何らかの方法で操作する方がよいでしょうか?ナイーブを許してください、私はまだRとggplot2にかなり慣れていません。

どんな助けでも大歓迎です。

編集:上記のコードを使用したプロット例:

散布図の例

4

2 に答える 2

4

編集

library("ggplot2")

df <- read.table(text = " id  length_bgn  length_end 
        1     209          215     
 2     324          125     
 3     167          156     ", header=TRUE)

df$x <- apply(df[,c(2,3)], 1, min)
df$y <- apply(df[,c(2,3)], 1, max)


qplot(x, y, data=df)
于 2012-05-18T15:11:37.133 に答える
3

@gaudenのソリューションは(プロットする前に処理を実行するために)優れていますが、本当にggplotその作業を実行したい場合は、実行できます。[df提供された@gaudenを使用します。]

qplot(pmin(length_bgn, length_end), pmax(length_bgn, length_end), data=df)

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

于 2012-05-18T18:41:13.260 に答える