新しいデータフレームを作成せずに、Rのggplot2を使用して、異なるデータフレームからの2つの系列を互いにプロットするにはどうすればよいですか?

ランディ

2つのデータフレームがあるとします

df1 = data.frame(x=1:10)
df2 = data.frame(x=11:20)

そして、座標を定義するこれら2つの級数を使用した散布図が必要です。簡単にできます

plot(df1$x,df2$x)

ggplot2についてこれまでに言えることから、私もできる

df = data.frame(x1 = df1$x, x2 = df2$x)
ggplot(data = df, aes(x=x1, y=x2)) + geom_point()
rm(df)

しかし、それは(私にとって)新しいデータフレームを作成しないよりも遅く、読みにくく、間違いが増える可能性があります(間違ったデータフレームの削除、必要なデータフレームの上書き、余分な混乱の除去の忘れなど)。 。)。すでに存在するデータを格納するためだけに、別のデータフレームを作成する必要が本当にありますか?次の1行目は、「data」の下にデータフレームの1つしかリストされていないのに、2行目は機能しないのに、なぜ機能するのですか?

ggplot(data = df1, aes(x=df1$x, y=df2$x)) + geom_point()
ggplot(            aes(x=df1$x, y=df2$x)) + geom_point()

これが基本的に私が欲しいもののサンプル画像です: 必要な出力

ランディ

次の任意の行(すべてコメントから取得)が機能するはずです:

ggplot(data=data.frame(x=df1$x, y=df2$x), aes(x,y)) + geom_point()

ggplot() + geom_point(aes(x=df1$x, y=df2$x))

ggplot(data=NULL, aes(x=df1$x, y=df2$x)) + geom_point()

ggplot(data=df1, aes(x=x)) + geom_point(aes(y=df2$x))

私は最後の行を好みます(削除されたコメントから取得)。質問へのコメントで述べたように、とにかくggplot()作成しdata.frameます。これらのソリューションが行うことは、ユーザーがデータ管理のこの側面をいくらか無視できるようにすることです(確かに、一部のユーザーが嫌悪感を覚えるような方法で)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ