2016-05-09 17 views
0

xの次元が私の配列の最初の要素である1つのグラフを得るために、ggplot2のようなライブラリを使用することは可能でしょうか? )ここで、y次元は私の配列(3,4,5)の2番目の要素です。次に、プロットの線は私の配列の3番目の要素です。だから私は3行0.025,0.05,0.075の線のプロットで終わる。3次元配列からラインプロット(時系列)を作成する

アレイ:

test <- structure(c(0.375273574511523, 0.333640287506392, 0.349192797931677, 
        0.337219826870885, 0.318182584380369, 0.320214135918515, 0.361795340513871, 
        0.303301639079779, 0.308995818880145, 0.486614010203226, 0.491666372158188, 
        0.450500424965387, 0.464697136076233, 0.467426609239434, 0.475098558417684, 
        0.467056879901411, 0.43139438188378, 0.452656403568038, 0.451463478297646, 
        0.516198183913922, 0.522289371444439, 0.499669539425807, 0.527507832814278, 
        0.529443687671795, 0.520999085947043, 0.526833049499385, 0.533862568866946 
), .Dim = c(3L, 3L, 3L), .Dimnames = list(c("100", "200", "300" 
), c("3", "4", "5"), c("0.025", "0.05", "0.075"))) 


> test 
, , 0.025 

      3   4   5 
100 0.3752736 0.3372198 0.3617953 
200 0.3336403 0.3181826 0.3033016 
300 0.3491928 0.3202141 0.3089958 

, , 0.05 

      3   4   5 
100 0.4866140 0.4646971 0.4670569 
200 0.4916664 0.4674266 0.4313944 
300 0.4505004 0.4750986 0.4526564 

, , 0.075 

      3   4   5 
100 0.4514635 0.4996695 0.5209991 
200 0.5161982 0.5275078 0.5268330 
300 0.5222894 0.5294437 0.5338626 
+0

'ggplot2'は配列では動作しませんので、あなたの問題の重要な部分は、あなたが望む構造と' data.frame'にあなたの3D配列を変換する方法です。 [この質問は](http://stackoverflow.com/questions/11141406/reshaping-an-array-to-data-frame)その問題のためにあなたを助けるかもしれない –

答えて

2

修正配列データフレームへ:

test2 <- adply(test, c(1,2,3)) 

プロットの部分については、私はあなたがしたいかもしれないものを再解釈の自由を取りました。値そのものを含めて、4つの次元が必要であることに注意してください。

library(ggplot2) 
ggplot(data=test2) + geom_line(aes(x=X1 , y=V1 , group= X3, colour = factor(X3))) + 
           facet_grid(.~X2) 

Example

+0

多くのおかげで多くのおかげで – S12000

1

あなたはggplot2上で動作することができるようにdata.frameにあなたの3D配列を変換する第一の必要性。

# convert array into df 
    df <- as.data.frame.table(test) 

これでプロットを作成できます。あなたがどのように見えるようにするかはまだ完全には分かりません。

# plot 
    library(ggplot2) 

    ggplot(data=df) + 
    geom_line(data=df , aes(x=Freq , y=Var3 , group= Var2, color=Var2)) 

enter image description here

+0

共有のためにありがとう – S12000

関連する問題