2015-04-27 4 views
1

У меня есть следующие предсказания в F # в качестве цифровой матрицы:поворота числовой матрицы в массив

let predictresults = R.predict_lm(mymdl, mytest |> R.as_data_frame).AsNumericMatrix 

Тем не менее, мне нужно предсказанные результаты (нескольких лет) в качестве матрицы. Может ли кто-нибудь дать мне советы о том, как это сделать? Я попробовал Matrix.toSeq |> Seq.toArray, однако, я получаю сообщение об ошибке, что NumericMatrix несовместим с Matrix.

+0

Вы не говорите, как вы используете R из F # - это [это] (http://www.nudoq.org/#!/Packages/R.NET/RDotNet/Matrix (T)/M/CopyTo), что вы ищете? – ildjarn

+0

Я использую следующие: открытые RDotNet открытых RProvider открытых RProvider.graphics открытых RProvider.stats открыт RDotNet открыт RProvider.''base'' –

+0

Все, что я хочу сделать, это получить предсказанные значения (с помощью R в F #) как массив, чтобы я мог вычислить свои ошибки предсказания. Я имею их как числовую матрицу и не могу преобразовать в массив. –

ответ

1

Вы хотите использовать метод ToArray, а не что-либо в Matrix модуле:

let predictresultsarr = predictresults.ToArray() 

В то время как у меня нет опыта первых рук с ним, R.NET усматривать C# -ориентированная библиотека , и, как таковой, модуль Matrix не является таким, как он мог быть (Matrix.toArray или NumericMatrix.toArray, безусловно, будет идиоматическим). Таким образом, вы можете захотеть использовать более F # -ориентированную библиотеку, такую ​​как F# R Type Provider, которая является слоем F # поверх R.NET.

Смежные вопросы