Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {{"5", "4", "3", "2", "1"},
- {"A", 3, 1, 2, 0, 4},
- {"B", 8, 29, 55, 14, 22},
- {"C", 15, 87, 418, 728, 340},
- {"D", 41, 28, 154, 821, 939},
- {"E", 3, 21, 78, 257, 594}}
- Column1 Column2 Value
- A 5 3
- A 4 1
- A 3 2
- ...
- E 5 3
- E 4 21
- E 3 78
- E 2 257
- E 1 594
- m = { {"5", "4", "3", "2", "1"},
- {"A", 3, 1, 2, 0, 4},
- {"B", 8, 29, 55, 14, 22},
- {"C", 15, 87, 418, 728, 340},
- {"D", 41, 28, 154, 821, 939},
- {"E", 3, 21, 78, 257, 594} };
- Dataset @ Flatten @ Array[
- <|"Column1" -> m[[#+1, 1]], "Column2" -> m[[1, #2]], "Value" -> m[[#+1, #2+1]]|>&
- , {Length[m] - 1, Length[m[[1]]]}
- ]
- data = {{"5", "4", "3", "2", "1"}, {"A", 3, 1, 2, 0, 4}, {"B", 8, 29,
- 55, 14, 22}, {"C", 15, 87, 418, 728, 340}, {"D", 41, 28, 154, 821,
- 939}, {"E", 3, 21, 78, 257, 594}};
- data2 = Most[ArrayRules[SparseArray[data[[2 ;;, 2 ;;]], Automatic, Null]]];
- data2 = data2 /. {r_Integer, c_Integer} :> {data[[2 ;;, 1]][[r]], data[[1]][[c]]};
- Dataset[Flatten@*List @@@ data2]
- columns = Join @@ Join[Outer[List,m[[2;;,1]], m[[1]]], List /@ # & /@ m[[2;;, 2;;]], 3]
- Dataset[Association[{"rowLabel" -> #, "colLabel" -> #2, "value" -> #3}]& @@@ columns]
- Dataset[
- Map[
- AssociationThread[data[[1]], #] &,
- AssociationThread[
- data[[2 ;;, 1]],
- data[[2 ;;, 2 ;;]]
- ]
- ]
- ]
Add Comment
Please, Sign In to add comment