주요 콘텐츠

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

cell2table

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

설명

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

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

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

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

예제

예제

모두 축소

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

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 = 1×5 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의 열에 있는 셀의 내용에 따라 다음과 같습니다.

  • 크기와 데이터형이 호환 가능하고 각 셀에 하나의 행으로 구성된 배열이 있는 경우, 대응되는 테이블 변수는 동종 배열입니다.

    예:

    C = {[1 2] 3; [4 5] 6}
    T = cell2table(C)
    
    T =
      2×2 table
          C1      C2
        ______    __
        1    2    3 
        4    5    6 
    
  • 크기가 다르거나 데이터형이 호환되지 않거나 셀에 스칼라여야 하는 객체 또는 둘 이상의 행으로 구성된 배열이 있는 경우, 대응되는 테이블 변수는 셀형 배열입니다.

    (예를 들어, 사전과 함수 핸들은 항상 스칼라입니다. 스칼라여야 하는 객체는 동종 배열로 결합할 수 없습니다. 따라서 cell2table은 객체를 셀형 배열로 모읍니다.)

    예:

    C = {[1 2] 3; 4 5}
    T = cell2table(C)
    
    T =
      2×2 table
          C1       C2
        _______    __
        {[1 2]}    3 
        {[  4]}    5 
    

이름-값 인수

모두 축소

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

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

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

행 이름으로, 비어 있지 않은 고유한 요소를 갖는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 행 이름의 개수는 입력 배열의 행 개수와 같아야 합니다.

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

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

변수 이름으로, 비어 있지 않은 고유한 요소를 갖는 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 변수 이름의 개수는 입력 배열의 열 개수와 같아야 합니다.

변수 이름에는 공백과 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다. 하지만 변수 이름은 테이블 차원 이름이나 예약된 이름 'Properties', 'RowNames', 'VariableNames' 또는 ':'과 일치할 수 없습니다.

R2021a 이후

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

차원 이름에는 공백 및 비ASCII 문자를 포함하여 모든 Unicode 문자를 사용할 수 있습니다. 하지만 차원 이름은 테이블 변수 이름이나 예약된 이름 'Properties', 'RowNames', 'VariableNames' 또는 ':'과 일치할 수 없습니다.

또는 모든 릴리스에서 테이블의 DimensionNames 속성을 설정하여 차원 이름을 지정할 수 있습니다.

출력 인수

모두 축소

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

확장 기능

모두 확장

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

버전 내역

R2013b에 개발됨

모두 확장