带有F#R类型提供程序的row.names.default()出错

时间:2016-03-15 21:31:18

标签: r f#

我正在尝试从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

0 个答案:

没有答案