Main Content

cell2table

셀형 배열(Cell Array)을 테이블(Table)로 변환

설명

T = cell2table(C)m×n 셀형 배열 내용인 Cm×n 테이블 T로 변환합니다. C의 각 열이 데이터로서 T의 변수에 포함됩니다.

출력 테이블에 변수 이름을 생성하기 위해 cell2table은 입력 배열 이름에 열 번호를 붙입니다. 입력 배열에 이름이 없으면 cell2table"Var1",...,"VarN" 형식으로 변수 이름을 생성합니다. 여기서 NC에 있는 열 개수입니다.

예제

T = cell2table(C,Name,Value)는 하나 이상의 Name,Value 쌍 인수를 추가 옵션으로 지정하여 셀형 배열 C에서 테이블을 만듭니다.

예를 들어, 테이블에 포함할 행 이름 또는 변수 이름을 지정할 수 있습니다.

예제

모두 축소

문자열과 숫자형 데이터를 갖는 셀형 배열을 만듭니다. (문자열로 구성된 셀형 배열은 권장되지 않습니다. 하지만 이 경우에는 문자열과 숫자가 모두 포함된 셀형 배열에 문자열을 포함하는 것이므로 적합합니다. 이 셀형 배열은 텍스트에 대한 컨테이너가 아니라, 데이터형은 다르지만 서로 그룹화된 값에 대한 컨테이너입니다.)

C = {5 "cereal" 110 "C+"; 12 "pizza" 140 "B";...
    23 "salmon" 367 "A"; 2 "cookies" 160 "D"}
C=4×4 cell array
    {[ 5]}    {["cereal" ]}    {[110]}    {["C+"]}
    {[12]}    {["pizza"  ]}    {[140]}    {["B" ]}
    {[23]}    {["salmon" ]}    {[367]}    {["A" ]}
    {[ 2]}    {["cookies"]}    {[160]}    {["D" ]}

셀형 배열 C를 테이블로 변환하고 변수 이름을 지정합니다.

T = cell2table(C,...
    "VariableNames",["Age" "FavoriteFood" "Calories" "NutritionGrade"])
T=4×4 table
    Age    FavoriteFood    Calories    NutritionGrade
    ___    ____________    ________    ______________

     5      "cereal"         110            "C+"     
    12      "pizza"          140            "B"      
    23      "salmon"         367            "A"      
     2      "cookies"        160            "D"      

변수 T.AgeT.Calories는 숫자형 값이며 변수 T.FavoriteFoodT.NutritionGrade는 string형 배열입니다.

셀형 배열을 테이블로 변환한 다음 셀형 배열의 첫 번째 행을 테이블의 변수 이름으로 포함시킵니다.

셀형 배열을 만듭니다. 이 셀형 배열의 첫 번째 행은 열 제목을 식별하기 위한 문자열을 포함합니다. (문자열로 구성된 셀형 배열은 권장되지 않습니다. 하지만 이 경우에는 문자열과 숫자, 논리값이 포함된 셀형 배열에 문자열을 포함하는 것이므로 적합합니다. 이 셀형 배열은 텍스트에 대한 컨테이너가 아니라, 데이터형은 다르지만 서로 그룹화된 값에 대한 컨테이너입니다.)

Patients = {"LastName" "Age" "Height" "Weight" "Smoker";...
    "Chang" 38 71 176 true;...
    "Brown" 43 69 163 false;...
    "Ruiz" 38 64 131 false;...
    "Lee" 38 64 131 false;...
    "Smith" 40 67 133 false;...
    "Garcia" 49 64 119 false}
Patients=7×5 cell array
    {["LastName"]}    {["Age"]}    {["Height"]}    {["Weight"]}    {["Smoker"]}
    {["Chang"   ]}    {[   38]}    {[      71]}    {[     176]}    {[       1]}
    {["Brown"   ]}    {[   43]}    {[      69]}    {[     163]}    {[       0]}
    {["Ruiz"    ]}    {[   38]}    {[      64]}    {[     131]}    {[       0]}
    {["Lee"     ]}    {[   38]}    {[      64]}    {[     131]}    {[       0]}
    {["Smith"   ]}    {[   40]}    {[      67]}    {[     133]}    {[       0]}
    {["Garcia"  ]}    {[   49]}    {[      64]}    {[     119]}    {[       0]}

열 제목을 제외한 셀형 배열의 내용을 테이블로 변환합니다.

C = Patients(2:end,:);
T = cell2table(C)
T=6×5 table
       C1       C2    C3    C4      C5  
    ________    __    __    ___    _____

    "Chang"     38    71    176    true 
    "Brown"     43    69    163    false
    "Ruiz"      38    64    131    false
    "Lee"       38    64    131    false
    "Smith"     40    67    133    false
    "Garcia"    49    64    119    false

테이블 T는 변수 이름으로 C1,...,C5를 갖고 있습니다.

셀형 배열의 첫 번째 행의 이름을 포함하도록 테이블 속성 T.Properties.VariableNames를 설정하여 변수 이름을 변경합니다. 첫 번째 행의 이름을 추출하기 위해 중괄호를 사용합니다. 그럼 다음 그 이름을 string형 배열로 결합합니다. string형 배열을 T.Properties.VariableNames에 할당합니다.

LastName = [Patients{1,:}]
LastName = 1x5 string
    "LastName"    "Age"    "Height"    "Weight"    "Smoker"

T.Properties.VariableNames = LastName
T=6×5 table
    LastName    Age    Height    Weight    Smoker
    ________    ___    ______    ______    ______

    "Chang"     38       71       176      true  
    "Brown"     43       69       163      false 
    "Ruiz"      38       64       131      false 
    "Lee"       38       64       131      false 
    "Smith"     40       67       133      false 
    "Garcia"    49       64       119      false 

입력 인수

모두 축소

입력 셀형 배열로, 2차원 셀형 배열로 지정됩니다. C의 각 열이 데이터로서 테이블의 변수에 포함됩니다.

  • C의 열에 있는 셀의 내용이 크기와 유형이 호환 가능하다면 대응 테이블 변수는 셀 내용과 배열의 세로 결합입니다.

  • 열에 있는 셀의 내용이 크기와 유형이 서로 다르면 대응 테이블 변수는 셀형 배열입니다.

    • 열에 있는 셀의 내용이 모두 문자형 벡터이면 대응 테이블 변수는 문자형 벡터로 구성된 셀형 배열입니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: "RowNames",["row1","row2","row3"]은 테이블 T에 행 이름 row1, row2, row3을 사용합니다.

행 이름으로, "RowNames"와 함께 비어 있지 않은 고유한 요소를 갖는 string형 배열 또는 문자형 벡터로 구성된 셀형 배열이 쉼표로 구분되어 지정됩니다. 이름 개수는 행 개수 size(C,1)과 같아야 합니다.

공백이나 비ASCII 문자를 포함하여 모든 Unicode® 문자를 행 이름에 사용할 수 있습니다.

선행 또는 후행 공백 문자를 갖는 행 이름을 지정할 경우 cell2table은 행 이름에서 해당 공백을 제거합니다.

변수 이름으로, "VariableNames"와 함께 비어 있지 않은 고유한 요소를 갖는 string형 배열 또는 문자형 벡터로 구성된 셀형 배열이 쉼표로 구분되어 지정됩니다. 이름 개수는 변수의 개수 size(C,2)와 같아야 합니다.

변수 이름에는 공백과 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다.

R2021a 이상

차원 이름으로, 문자형 벡터 요소를 2개 가진 셀형 배열 또는 비어 있지 않고 고유한 요소를 2개 가진 string형 배열로 지정됩니다.

차원 이름에는 공백 및 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다.

R2021a 이전 릴리스에서는 차원 이름을 지정하려면 출력값의 DimensionNames 속성을 설정하는 방법밖에 없었습니다.

출력 인수

모두 축소

출력 테이블로, 테이블 형식으로 반환됩니다. 이 테이블에는 설명, 변수 단위, 변수 이름, 행 이름과 같은 메타데이터가 저장될 수 있습니다. 자세한 내용은 table의 속성 섹션을 참조하십시오.

확장 기능

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2013b에 개발됨

모두 확장