我正在尝试从F#加载CSV文件并将其加载到R数据框。当我尝试运行它时,我收到以下错误:抛出异常:' System.TypeInitializationException' in ...和输出" row.names.default()中的错误:参数" x"缺少,没有默认"。
我错过了什么?
open System
open FSharp.Data
open RDotNet
open RProvider
open RProvider.``base``
open RProvider.graphics
open System.IO
open FSharp.Data.CsvExtensions
open RProvider.datasets
open RProvider.IndependenceTests
open RProvider.MASS
open RProvider.discretization
open RProvider.stats
open RProvider.FactoMineR
open System.Runtime.InteropServices
open RProvider.homals
open RProvider.factoextra
//open MathNet.Numerics.Distributions
open RProvider.ggplot2
open RProvider.grid
[<DllImport("Kernel32.dll")>] extern bool FreeConsole()
//do FreeConsole () |> ignore
do R.Sys_setlocale("LC_ALL", "us") |> ignore
let [<Literal>] DATA = @"C:\Users\christos\GIT\Fsharp\BeStar\BeStar\FAST_Big_Sample-2.csv"
let CSVdata = CsvFile.Load(DATA).Cache()
let columns = match CSVdata.Headers with
| Some x -> x |> List.ofArray
| None -> failwith "file has no records"
let rows = CSVdata.Rows
let data = seq{ for c in columns ->
let e = rows |> Seq.map (fun x -> let tmp = x.[c]
if tmp ="" then "NA" else tmp)|> Array.ofSeq
(c,e) }
let tmp= data |>Seq.take(30) |> namedParams |> R.as_data_frame
tmp |> R.row_names |> ignore
Console.ReadLine()|>ignore
[<EntryPoint>]
let main argv =
printfn "%A" argv
0 // return an integer exit code