Вам известны какие-либо такие функции в F #?
В стандартной библиотеке F # таких функций нет.
Краткий пример в R
Данные вашего примера могут быть записаны на F # следующим образом:
let header, data =
[ "a"; "b"; "c" ],
[ 1, 0.48411551, 0.2372291
2, 0.58850308, 0.3968759
3, 0.74412592, 0.9718320
4, 0.93060118, 0.8665092
5, 0.01556804, 0.2512399 ]
, а затем «расплавлены» следующим образом:
let melt header data =
let header, data = Array.ofSeq header, Array.ofSeq data
[ header.[0], "variable", "value" ],
[ for a, b, c in data do
yield a, "b", b
yield a, "c", c ]
Обратите внимание: статическая типизациятребует, чтобы ваши столбцы "b" и "c" содержали значения одного и того же типа, потому что они были объединены в один столбец.
Эти 2 операции чрезвычайно эффективны в повседневной работе.Если они у вас есть, это меняет ваше мышление, очень похоже на то, как это делает FP.
Я не понимаю, почему.Я подозреваю, что это проблема XY, и вы описываете, как проблемы могут быть решены в R, когда ту же проблему лучше решить, используя более типичный подход в F #, такой как отображение «а» в карту из «переменной» в «значение ", но не имея представления о том, что кому-то могут понадобиться эти функции, я не могу быть уверен.