Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F#R类型提供程序和cbind_R_F#_Type Providers - Fatal编程技术网

F#R类型提供程序和cbind

F#R类型提供程序和cbind,r,f#,type-providers,R,F#,Type Providers,我希望使用可视化数据,但最初我需要通过R.cbind将它们组合起来 我有两个像这样的分位数数组quantiles1和quantiles2 val it : double [] = [|9.493529797e-05; 0.00356456441; 0.006148920477; 0.01201379844; 0.04056193231; 0.1144207457; 0.3402441047; 0.7572200933; 1.432890804; 2.755986279|]

我希望使用可视化数据,但最初我需要通过
R.cbind
将它们组合起来

我有两个像这样的分位数数组
quantiles1
quantiles2

val it : double [] =
  [|9.493529797e-05; 0.00356456441; 0.006148920477; 0.01201379844;
    0.04056193231; 0.1144207457; 0.3402441047; 0.7572200933; 1.432890804;
    2.755986279|]
当我打电话时

R.cbind(quantiles1, quantiles2)
结果是

val it : SymbolicExpression =
                 ...
 [1,] 0.0000949353
 [2,] 0.0035645644
 [3,] 0.0061489205
 [4,] 0.0120137984
 [5,] 0.0405619323
 [6,] 0.1144207457
 [7,] 0.3402441047
 [8,] 0.7572200933
 [9,] 1.4328908043
[10,] 2.7559862789
但我希望这里有两个专栏。
在F#type provider中,我应该如何使用
cbind
获得正确的结果?

这应该适用于您:

let x12 = R.cbind(namedParams ["x1", box x1; "x2", box x2])
R.dim(x12)
// val it : SymbolicExpression = [1] 10  2
原因是R.cbind需要以下类型:

编辑 如果助手函数变得太单调,您可以创建它

let makeRParams (xs:#seq<_>) =
    xs
    |> Seq.mapi (fun i x -> ("x"+i.ToString(),box x))
    |> dict
let makeRParams(xs:#seq)=
xs
|>Seq.mapi(乐趣i x->(“x”+i.ToString(),方框x))
|>口述

太好了,谢谢您的回答。。。我尝试过类似的方法,但我不知道这些变量可以这样命名namedParams@JozefCechovsky我还想知道是否有更好的方法,但通常我最终还是会传递数据帧,这些数据帧已经指定了名称。我添加了一个helper函数,它将给变量一个名称,并将它们装箱。这样,您就可以跳过
namedParams
无意义,R将接受字典。