2016-08-04 6 views
1

matplotでデータを視覚化したいのですが、最初はR.cbindで結合する必要があります。F#R型プロバイダとcbind

私は結果が

val it : SymbolicExpression = 
       ... 
[1,] 0.0000949353 
[2,] 0.0035645644 
[3,] 0.0061489205 
[4,] 0.0120137984 
[5,] 0.0405619323 
[6,] 0.1144207457 
[7,] 0.3402441047 
[8,] 0.7572200933 
[9,] 1.4328908043 
[10,] 2.7559862789 

あるしかし、私はここで2つの列を期待

R.cbind(quantiles1, quantiles2) 

を呼び出すと、私はこの

val it : double [] = 
    [|9.493529797e-05; 0.00356456441; 0.006148920477; 0.01201379844; 
    0.04056193231; 0.1144207457; 0.3402441047; 0.7572200933; 1.432890804; 
    2.755986279|] 

のような2分位数アレイquantiles1quantiles2を持っています。 F#型プロバイダでcbindで正しい結果を得るためにはどうすればよいですか?

答えて

1

これはあなたのために働く必要があります:それはあまりにも退屈取得する場合 enter image description here

編集あなたはヘルパー関数を作ることができます

let x12 = R.cbind(namedParams ["x1", box x1; "x2", box x2]) 
R.dim(x12) 
// val it : SymbolicExpression = [1] 10 2 

理由はR.cbindは次の型を期待していることです....

let makeRParams (xs:#seq<_>) = 
    xs 
    |> Seq.mapi (fun i x -> ("x"+i.ToString(),box x)) 
    |> dict 
+1

大変、ありがとうございました。私はこれらの変数がnamedParamsでこのように指定できることを知らなかった –

+1

@JozefCechovskyもっと良い方法があるのだろうかと思っていますが、通常は名前を割り当てたデータフレームを渡すことになります。私は、変数に名前とボックスを与えるヘルパ関数を追加しました。あなたは 'namedParams'ナンセンスをスキップし、Rは辞書を受け入れます。 – s952163

関連する問題