MacOS上F#中的RProvider错误:无法重现基本示例

时间:2017-05-13 03:07:21

标签: r f# macos-sierra type-providers fslab

在MacOS上的终端窗口上运行RProvider1.1.20

我尝试从中运行示例 http://bluemountaincapital.github.io/FSharpRProvider/mac-and-linux.html

R.mean([1;2;3;4)] R.x11() R.sin(1)

> R.sin(1.0);;

  

val it:RDotNet.SymbolicExpression = [1] 0.841471

一切正常

然而 >R.sin(1.0);; base :: sin(0,1)中的错误:传递给'sin'的2个参数需要1

  

RDotNet.EvaluationException:base :: sin(0,1)中的错误:传递给'sin'的2个参数需要1

     

在RDotNet.REngine.Parse(System.String语句,System.Text.StringBuilder incompleteStatement)[0x000a0] in:0     在RDotNet.REngine + d__0.MoveNext()[0x0008f] in:0     at System.Linq.Enumerable.LastOrDefault [TSource](System.Collections.Generic.IEnumerable 1[T] source) [0x00042] in <2392cff65f724abaaed9de072f62bc4a>:0 at RDotNet.REngine.Evaluate (System.String statement) [0x0000d] in <bc069eb3146d4bcda8475794f512037f>:0 at RProvider.RInteropInternal+eval@292.Invoke (Microsoft.FSharp.Core.Unit unitVar0) [0x00026] in <57161c90b86b2a10a7450383901c1657>:0 at RProvider.Internal.Logging.logWithOutput[a] (RProvider.CharacterDeviceInterceptor characterDevice, Microsoft.FSharp.Core.FSharpFunc 2 [T,TResult] f)[0x0007e] in&lt; 57161c90b86b2a10a7450383901c1657&gt ;:0     在RProvider.RInteropInternal.eval(System.String expr)[0x0000c] in&lt; 57161c90b86b2a10a7450383901c1657&gt;:0     at。$ FSI_0028.main @()[0x00046] in&lt; 23b88108285f4035b1dcf54f78a47062&gt ;:0     at(wrapper managed-to-native)System.Reflection.MonoMethod:InternalInvoke(System.Reflection.MonoMethod,object,object [],System.Exception&amp;)     在System.Reflection.MonoMethod.Invoke(System.Object obj,System.Reflection.BindingFlags invokeAttr,System.Reflection.Binder binder,System.Object [] parameters,System.Globalization.CultureInfo culture)[0x00038] in:0   因错误而停止

我首先想知道它是否与区域设置(数字的逗号或点分隔符)有关,但0.1和1.0的示例提示否则

这是一个x-post,因为我也在RProvider GitHub中发布了这个问题 https://github.com/BlueMountainCapital/FSharpRProvider/issues/186

1 个答案:

答案 0 :(得分:2)

感谢@ s952163

这是一个区域设置问题。因此,如果您的全球环境是英语,则不应该有这个错误。

虽然这不是一个非常令人满意的答案,但我会将此标记为暂时的答案。