F#でRProviderを使用してデータの統計を計算しています。 R関数を呼び出すと、SymbolicExpression typeが返されますが、このタイプのデータを解析することは本当に困難です。私のコードでは、私はこのような分位数を数えます。SymbolicExpression - 文字列へ
let seq = R.seq(namedParams ["from", box 0;"to", box 1;"length", box 11;])
let quantiles = R.quantile(namedParams ["x", box dataWithoutNan1; "prob", box seq; "type", box 5;])
分位数は、SymbolicExpression型です。
val quantiles : SymbolicExpression =
0% 10% 20% 30% 40% 50%
0.000000e+00 3.203978e-03 5.366154e-03 1.101344e-02 8.259162e-02 4.533620e-01
60% 70% 80% 90% 100%
1.278446e+00 2.706468e+00 4.927400e+00 1.141095e+01 8.944235e+02
SymbolicExpressionタイプは部材Value
let quantilesValue = quantiles.Value
を持っており、それが型であるOBJ
val quantilesValue : obj =
[|0.0; 0.003203978402; 0.00536615421; 0.01101343569; 0.08259161954;
0.4533619823; 1.278445928; 2.706467538; 4.927399755; 11.41095162;
894.4234507|]
私は
0.0のように、これらの値を印刷してやろうとしています。 0.003203978402; 0.00536615421; 0.01101343569; 0.08259161954; 0.4533619823; 1.278445928; 2.706467538; 4.927399755; 11.41095162; 894.4234507
私は、配列にこれらのオブジェクトをキャストするか、リストアップしてみましたが、私はこれを行うことができませんでした。 SymbolicExpressionから簡単に値を取得する方法はありますか?
が見える、この問題のために動作します。しかし、Seqにキャストすることができます。 'Seq.cast quantilesValue'は機能しますか? –
Petr
私は試しましたが、 'FS0001:型 'obj'は 'Collections.IEnumerable'型と互換性がありません –
文書には、' SymbolicExpression'を変換するために使用できる 'GetValue <'T>' 'double []'に変換します。多分それがあなたが必要とするものですか? – TheInnerLight