2017-11-15 10 views
0

行列の要素のすべての組み合わせを使って多くのグラフをプロットする必要があります。ベクトルとその要素の組み合わせをプロットする方法

私は3つの列を持っています。 W1に対応するAという名前の要素の時系列をプロットし、W1に対応するBという名前の要素の時系列をプロットしたいと思います。 W2と同じ。実際、私の行列は巨大ですが、その考え方が適用されるはずです。

特に、Rに名前の要素で区切られたW1のすべての要素をまとめてグループ化する方法を学びたいと思います。

さらに、これらのグラフをすべてプロットする最も効率的な方法は何ですか(下の例では、4つのグラフが必要です)。私はプロットするためggplot2パッケージ、および長期データに幅のデータを変換するためのreshape2パッケージを使用

name W1 W2 
A  123 24 
A  754 7245 
A  475 257 
A  623 2457 
A  525 27 
A  256 72 
A  352 725 
B  257 572 
B  572 577 
B  75 257 
B  27 257 
B  247 7522 
B  257 724 

答えて

0

このデータを使用して
# get x values for your plots 
df$x = ave(df$W1, df$name, FUN = seq_along) 
# conver wide data to long 
df_long = reshape2::melt(df, id.vars = c("name", "x")) 

library(ggplot2) 
# plot 
ggplot(df_long, aes(x = x, y = value)) + geom_line() + 
    facet_grid(name ~ variable) 

enter image description here


df = read.table(text = "name W1 W2 
A  123 24 
A  754 7245 
A  475 257 
A  623 2457 
A  525 27 
A  256 72 
A  352 725 
B  257 572 
B  572 577 
B  75 257 
B  27 257 
B  247 7522 
B  257 724", header= T) 
+0

ありがとう! 4つの別々のオブジェクトに4つのベクトルを取得する方法もありますか?ベクトル_A_W1 = [123,754、...]など。 –

+0

もちろん、 '?split'を見ると、私の質問の長いデータでそれを使うことができます。私は、 'list'(デフォルトでは' split'がそうするでしょう)にベクトルを保持することを強くお勧めします。しかし、あなたが本当に別のオブジェクトを望むなら、リスト上で 'list2env'を使用してそれらをあなたの作業空間に入れることができます。 – Gregor

+0

私は別の質問があります:実際には、各組み合わせに対して数百のグラフをプロットする必要があります。私は異なるデータセット(同じ構造を持つ)を持っているので、その数は変わります。 Rにデータセットを送り、グラフを自動的にプロットするようにしたいと思います。それは可能ですか?私はそのような質問をして申し訳ありませんが、どこから始めたらいいのか分かりません。 –

関連する問題