option float
のシーケンスをF#
にRProviderに渡したいと思っています。 Some float
とNone
の浮動小数点数列を持つ場合、None
の値をR
にRProvider
でどうやって得ることができますか?私はNone
sがR
でNA
値と等価になると予想しているだろうが、私は、私はマルチを取得F#からRProviderにseq <floatオプション>を渡す
open System
open RDotNet
open RProvider
open RProvider.graphics
open RProvider.stats
let optData4 =
seq [Some 10.0; Some 9.0; Some 8.0; None; Some 6.0;
Some 5.0; Some 5.0; None; Some 4.0; Some 2.0;
None]
let testData4 =
namedParams [
"regPrice", optData4;]
|> R.data_frame
で、seq<option float>
R.
に渡すことができません-lineエラー:
System.Exception: No converter registered for type Microsoft.FSharp.Collections.FSharpList`1[[Microsoft.FSharp.Core.FSharpOption`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], FSharp.Core, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]] or any of its base types
> at RProvider.RInteropInternal[email protected](String message) in C:\Tomas\Public\bmc\FSharp.RProvider\src\RProvider\RInterop.fs:line 164
at RProvider.RInteropInternal.REngine.SetValue(REngine this, Object value, FSharpOption`1 symbolName) in C:\Tomas\Public\bmc\FSharp.RProvider\src\RProvider\RInterop.fs:line 274
at RProvider.RInteropInternal.toR(Object value) in C:\Tomas\Public\bmc\FSharp.RProvider\src\RProvider\RInterop.fs:line 287
at [email protected](List`1 tempSymbols, Object arg) in C:\Tomas\Public\bmc\FSharp.RProvider\src\RProvider\RInterop.fs:line 461
at [email protected](IEnumerable`1& next) in C:\Tomas\Public\bmc\FSharp.RProvider\src\RProvider\RInterop.fs:line 469
at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.MoveNextImpl()
at Microsoft.FSharp.Core.CompilerServices.GeneratedSequenceBase`1.System-Collections-IEnumerator-MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at Microsoft.FSharp.Collections.SeqModule.ToArray[T](IEnumerable`1 source)
at RProvider.RInterop.callFunc(String packageName, String funcName, IEnumerable`1 argsByName, Object[] varArgs) in C:\Tomas\Public\bmc\FSharp.RProvider\src\RProvider\RInterop.fs:line 466
at <StartupCode$FSI_0012>[email protected]() in C:\Users\sranney\repositories\carolina_refit_bits\refit_bits\refit_bits\RDemo.fs:line 102
Stopped due to error
私はにseq<option float>
を変換する場合、私はRProvider
に何かを渡すことができる唯一の方法であります
let optData4 =
seq [Some 10.0; Some 9.0; Some 8.0; None; Some 6.0;
Some 5.0; Some 5.0; None; Some 4.0; Some 2.0;
None]
|> Seq.choose id
let testData4 =
namedParams [
"regPrice", optData4;]
|> R.data_frame
とが、これは私が考えはR
のNA
値に匹敵するだろうこれは、(なしのオプションを持つことの目的を否定。
はどのような値のいくつかはF#
にNone
あり、R
でNA
あるべきRProvider
に一連の値を渡すことができますか?あなたがDeedleとNULL可能な値でそれを行うことができます
私は絶対にFナレッジは持っていませんが、R 'NA'は実際には特定のNA値を各スーパーモードで包含しています。ヒッチが "浮動小数点"である場合は、NA_real_を返す必要があるかもしれません。 –