Guest User

Untitled

a guest
May 22nd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. {{"5", "4", "3", "2", "1"},
  2. {"A", 3, 1, 2, 0, 4},
  3. {"B", 8, 29, 55, 14, 22},
  4. {"C", 15, 87, 418, 728, 340},
  5. {"D", 41, 28, 154, 821, 939},
  6. {"E", 3, 21, 78, 257, 594}}
  7.  
  8. Column1 Column2 Value
  9. A 5 3
  10. A 4 1
  11. A 3 2
  12.  
  13. ...
  14.  
  15. E 5 3
  16. E 4 21
  17. E 3 78
  18. E 2 257
  19. E 1 594
  20.  
  21. m = { {"5", "4", "3", "2", "1"},
  22. {"A", 3, 1, 2, 0, 4},
  23. {"B", 8, 29, 55, 14, 22},
  24. {"C", 15, 87, 418, 728, 340},
  25. {"D", 41, 28, 154, 821, 939},
  26. {"E", 3, 21, 78, 257, 594} };
  27.  
  28. Dataset @ Flatten @ Array[
  29. <|"Column1" -> m[[#+1, 1]], "Column2" -> m[[1, #2]], "Value" -> m[[#+1, #2+1]]|>&
  30. , {Length[m] - 1, Length[m[[1]]]}
  31. ]
  32.  
  33. data = {{"5", "4", "3", "2", "1"}, {"A", 3, 1, 2, 0, 4}, {"B", 8, 29,
  34. 55, 14, 22}, {"C", 15, 87, 418, 728, 340}, {"D", 41, 28, 154, 821,
  35. 939}, {"E", 3, 21, 78, 257, 594}};
  36.  
  37. data2 = Most[ArrayRules[SparseArray[data[[2 ;;, 2 ;;]], Automatic, Null]]];
  38. data2 = data2 /. {r_Integer, c_Integer} :> {data[[2 ;;, 1]][[r]], data[[1]][[c]]};
  39. Dataset[Flatten@*List @@@ data2]
  40.  
  41. columns = Join @@ Join[Outer[List,m[[2;;,1]], m[[1]]], List /@ # & /@ m[[2;;, 2;;]], 3]
  42. Dataset[Association[{"rowLabel" -> #, "colLabel" -> #2, "value" -> #3}]& @@@ columns]
  43.  
  44. Dataset[
  45. Map[
  46. AssociationThread[data[[1]], #] &,
  47. AssociationThread[
  48. data[[2 ;;, 1]],
  49. data[[2 ;;, 2 ;;]]
  50. ]
  51. ]
  52. ]
Add Comment
Please, Sign In to add comment