メインコンテンツ

categorical 配列の結合

この例では、categorical 配列を結合する方法を示します。

categorical 配列の作成

教室 A の 25 名の生徒が好む昼食時の飲み物を含む categorical 配列を作成します。

rng("default")
A = randi(3,[25,1]);
A = categorical(A,1:3,["milk" "water" "juice"])
A = 25×1 categorical
     juice 
     juice 
     milk 
     juice 
     water 
     milk 
     milk 
     water 
     juice 
     juice 
     milk 
     juice 
     juice 
     water 
     juice 
     milk 
     water 
     juice 
     juice 
     juice 
     water 
     milk 
     juice 
     juice 
     juice 

categorical 配列を集計します。

summary(A)
A: 25×1 categorical

     milk              6 
     water             5 
     juice            14 
     <undefined>       0 

教室 B の 28 名の生徒が好む昼食時の飲み物を含む categorical 配列を作成します。

B = randi(3,[28,1]);
B = categorical(B,1:3,["milk" "water" "juice"])
B = 28×1 categorical
     juice 
     juice 
     water 
     water 
     milk 
     juice 
     milk 
     milk 
     milk 
     milk 
     juice 
     juice 
     milk 
     juice 
     milk 
     water 
     water 
     juice 
     juice 
     milk 
     water 
     water 
     water 
     juice 
     juice 
     milk 
     juice 
     water 

categorical 配列を集計します。

summary(B)
B: 28×1 categorical

     milk              9 
     water             8 
     juice            11 
     <undefined>       0 

categorical 配列の連結

教室 A と B で収集したデータを連結して 1 つの categorical 配列 Group1 にまとめます。

Group1 = [A;B]
Group1 = 53×1 categorical
     juice 
     juice 
     milk 
     juice 
     water 
     milk 
     milk 
     water 
     juice 
     juice 
     milk 
     juice 
     juice 
     water 
     juice 
     milk 
     water 
     juice 
     juice 
     juice 
     water 
     milk 
     juice 
     juice 
     juice 
     juice 
     juice 
     water 
     water 
     milk 
      ⋮

categorical 配列 Group1 を集計します。

summary(Group1)
Group1: 53×1 categorical

     milk             15 
     water            13 
     juice            25 
     <undefined>       0 

異なるカテゴリを含む categorical 配列の作成

飲み物に関する選択肢にソーダを加えた場合に 50 名の生徒から収集したデータを含む categorical 配列 Group2 を作成します。

Group2 = randi(4,[50,1]);
Group2 = categorical(Group2,1:4,["juice" "milk" "soda" "water"])
Group2 = 50×1 categorical
     juice 
     juice 
     milk 
     water 
     milk 
     soda 
     juice 
     water 
     milk 
     soda 
     soda 
     water 
     water 
     soda 
     juice 
     juice 
     milk 
     water 
     milk 
     water 
     juice 
     water 
     milk 
     juice 
     milk 
     soda 
     milk 
     milk 
     water 
     soda 
      ⋮

categorical 配列を集計します。

summary(Group2)
Group2: 50×1 categorical

     juice            12 
     milk             14 
     soda             10 
     water            14 
     <undefined>       0 

異なるカテゴリを含む配列の連結

Group1 のデータと Group2 のデータを連結します。

students = [Group1;Group2]
students = 103×1 categorical
     juice 
     juice 
     milk 
     juice 
     water 
     milk 
     milk 
     water 
     juice 
     juice 
     milk 
     juice 
     juice 
     water 
     juice 
     milk 
     water 
     juice 
     juice 
     juice 
     water 
     milk 
     juice 
     juice 
     juice 
     juice 
     juice 
     water 
     water 
     milk 
      ⋮

作成された categorical 配列を集計します。連結によって、2 番目の入力のみに含まれているカテゴリ soda が 1 番目の入力に含まれているカテゴリのリストの最後に追加され、milkwaterjuicesoda となります。

summary(students)
students: 103×1 categorical

     milk             29 
     water            27 
     juice            37 
     soda             10 
     <undefined>       0 

categorical 配列内のカテゴリの順序を変更するには、reordercats 関数を使用します。

students = reordercats(students,["juice" "milk" "water" "soda"]);

categories(students)
ans = 4×1 cell
    {'juice'}
    {'milk' }
    {'water'}
    {'soda' }

categorical 配列の和集合

Group1Group2 から固有の回答を見つけるには、union 関数を使用します。

C = union(Group1,Group2)
C = 4×1 categorical
     milk 
     water 
     juice 
     soda 

union は、Group1Group2 を組み合わせた値を重複なく返します。この場合、C は連結配列 students のカテゴリと等しくなります。

この例に含まれる categorical 配列はすべて、非順序配列です。順序 categorical 配列を結合するには、それらの配列内のカテゴリ集合が順序を含めて同じでなければなりません。

参考

| | | | | |

トピック