2015-11-29 31 views
1

我在VS2012中用F#使用RProvider。我想將一組自定義直方圖中斷(bin邊緣)傳遞給R.hist。當我傳遞一個整數時,事情就可以了(參見注釋掉的那一行)。你可以幫我嗎?在這種情況下處理函數重載的正確方法是什麼?在R.hist如何使用F#中的RProvider將一系列直方圖中斷傳遞給R.hist?

R文件是在這裏(見 「破發」 ARG): https://stat.ethz.ch/R-manual/R-devel/library/graphics/html/hist.html

的工作下面的例子:

let arr = [| 12.3; 12.4; 13.3; 12.9; 13.2; 13.6 |] 
let breaks = [| 12.0; 12.5; 13.0; 13.5; 14.0 |] 
let h_tmp = R.hist(namedParams ["x", box arr; 
           "breaks", box breaks; // <------ fails here! 
           "plot", box true; ]) 
let h_counts = h_tmp.AsList().["counts"].AsNumeric().GetValue<float[]>() 

非常感謝。

回答

2

你得到了什麼錯誤?

我想我的機器上使用最新的RProvider 1.1.15複製本,它運行沒有任何錯誤,併產生以下結果,這似乎是正確的:

val h_counts : float [] = [|2.0; 1.0; 2.0; 1.0|] 
+0

您好,感謝檢查...我使用RProvider 1.0.13(好吧,我會更新)......我執行了上面在.fsx shell中報告的代碼,它工作正常。它正確地得到了我的直方圖。結果與你的一樣。然而,當我使用通過ExceDNA在Excel中創建直方圖的函數時,它失敗... – tinoswe

+0

好吧...它也可以在Excel DNA中工作。但是,我上面報告的代碼是對實際問題的簡化。感謝您幫助瞭解。這個問題顯然是在別的地方。我會仔細看看。由於其他原因,這是失敗的。我關閉了線程。 – tinoswe

相關問題