RTypeProvider
は同じタイプのnamedParams
しか処理できないようです。これは本当ですか?私はthingForR
LETの順序を逆にした場合、その後、私は反対のエラーを取得するRTypeProviderを使用して複数のタイプのデータフレームを作成する方法
This expression was expected to have type
string
but here has type
float option
を言っx.Qty
上のエラーを取得するよう
例えば、
open RDotNet
open RProvider
type foo = {
Which: string
Qty: float option
}
let someFoos = [{Which = "that"; Qty = Some 4.0}; {Which = "other"; Qty = Some 2.0}]
let thingForR =
namedParams [
"which", someFoos |> List.map (fun x -> x.Which);
"qty", someFoos |> List.map (fun x -> x.Qty);
]
|> R.data_frame
は動作しません。 :
let thingForR =
namedParams [
"qty", someFoos |> List.map (fun x -> x.Qty);
"which", someFoos |> List.map (fun x -> x.Which);
]
|> R.data_frame
ここで、のエラーは
This expression was expected to have type
float option
but here has type
string
namedParams
の辞書は異なるタイプではありませんか?そうであれば、F#で異なるタイプのデータフレームを作成してRに渡すことはできますか?
F#のエラーですが、強くあなたが 'それをbox'する必要があります:-)型付け言語を歓迎します。しかし、オプションの種類にも問題があります。なぜ私はそれについてのコンバータがないのか分かりません。最初に関連する答えを探してみましょう。 – s952163