I am trying to load a CSV file from F # and load it into an R-frame data. When I try to run it, I get the following error: An exception is thrown: "System.TypeInitializationException exception" in ... and the output is "Error in row.names.default (): missing argument" x ", without default value".
What am I missing?
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
source
share