2016-08-04 3 views
1

matplot으로 데이터를 시각화하고 싶지만 처음에는 R.cbind을 통해 데이터를 결합해야합니다.F # R 유형 공급자 및 cbind

나는 결과가

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 

입니다하지만 여기에 두 개의 열을 기대할 수

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|] 

같은 두 분위 배열 quantiles1quantiles2 있습니다. F # 유형 공급자에서 cbind을 사용하여 올바른 결과를 얻는 방법은 무엇입니까?

답변

1

이 당신을 위해 작동한다 : 너무 지루 얻는 경우에 enter image description here

편집 당신은 도우미 함수를 만들 수 있습니다 :

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 
+1

대단히 감사합니다. 나는 비슷한 것을 시도했다. b ut 이러한 변수는 namedParams에서 이와 같이 명명 될 수 있다는 것을 알지 못했습니다. –

+1

@JozefCechovsky 더 좋은 방법이 있는지 궁금합니다. 그러나 대개 이미 이름이 할당 된 데이터 프레임을 전달합니다. 변수에 이름을 지정하고 상자에 도우미 함수를 추가했습니다. 그런 식으로'namedParams' 난센스를 건너 뛰고 R은 사전을 받아 들일 수 있습니다. – s952163