와 볼프람 언어 에 티카 .
data = {{"Banana", "Water", "Rice"},
{"Rice", "Water"},
{"Bread", "Banana", "Juice"}};
짝수를 구하십시오.
counts = Sort /@ Flatten[Subsets[#, {2}] & /@ data, 1] // Tally
{{{"Banana", "Water"}, 1}, {{"Banana", "Rice"}, 1},
{{"Rice", "Water"}, 2}, {{"Banana", "Bread"}, 1},
{{"Bread", "Juice"}, 1}, {{"Banana", "Juice"}, 1}}
명명 된 진드기에 대한 인덱스를 가져옵니다.
indices = Thread[# -> Range[Length@#]] &@Sort@DeleteDuplicates@Flatten[data]
{"Banana" -> 1, "Bread" -> 2, "Juice" -> 3, "Rice" -> 4, "Water" -> 5}
을 MatrixPlot
사용하여 플로팅합니다 SparseArray
. 또한 사용할 수 있습니다 ArrayPlot
.
MatrixPlot[
SparseArray[Rule @@@ counts /. indices, ConstantArray[Length@indices, 2]],
FrameTicks -> With[{t = {#2, #1} & @@@ indices}, {{t, None}, {t, None}}],
PlotLegends -> Automatic
]
상단 삼각형입니다.
도움이 되었기를 바랍니다.