Main Content

table2struct

테이블을 구조체형 배열로 변환

설명

예제

S = table2struct(T)는 테이블 또는 타임테이블 T를 구조체형 배열 S로 변환합니다. T의 각 변수는 S의 필드가 됩니다. T가 필드 m×n 테이블 또는 타임테이블이면 Sn개의 필드를 갖는 m×1 구조체형 배열이 됩니다.

출력값 S에는 T.Properties의 테이블 속성이 포함되지 않습니다.

  • T가 행 이름을 포함하는 테이블인 경우 S에는 행 이름이 포함되지 않습니다.

  • T가 타임테이블인 경우 S에는 행 시간값이 포함되지 않습니다.

예제

S = table2struct(T,"ToScalar",true)는 테이블 T를 스칼라 구조체 S로 변환합니다. T의 각 변수는 S의 필드가 됩니다. Tm×n 테이블이면 S는 각각 m개 행을 갖는 필드를 n개 갖습니다.

예제

모두 축소

5개의 행과 3개의 변수를 가진 테이블 T를 만듭니다.

T = table(categorical(["Y";"N";"Y";"N";"N"]),[38;43;38;40;49],...
    [124 93;109 77; 125 83; 117 75; 122 80],...
    'VariableNames',["Smoker" "Age" "BloodPressure"])
T=5×3 table
    Smoker    Age    BloodPressure
    ______    ___    _____________

      Y       38      124     93  
      N       43      109     77  
      Y       38      125     83  
      N       40      117     75  
      N       49      122     80  

T를 구조체형 배열로 변환합니다.

S = table2struct(T)
S=5×1 struct array with fields:
    Smoker
    Age
    BloodPressure

테이블 T가 5개의 행을 가지므로 구조체는 5×1이 됩니다. T가 3개의 변수를 가지므로 S는 여기에 대응하는 3개의 필드를 갖습니다.

S의 첫 번째 요소에 대한 필드 데이터를 표시합니다.

S(1)
ans = struct with fields:
           Smoker: Y
              Age: 38
    BloodPressure: [124 93]

이 정보는 테이블의 첫 번째 행에 대응합니다.

5개의 행과 3개의 변수를 가진 테이블 T를 만듭니다.

T = table(categorical(["Y";"N";"Y";"N";"N"]),[38;43;38;40;49],...
    [124 93;109 77; 125 83; 117 75; 122 80],...
    'VariableNames',["Smoker" "Age" "BloodPressure"])
T=5×3 table
    Smoker    Age    BloodPressure
    ______    ___    _____________

      Y       38      124     93  
      N       43      109     77  
      Y       38      125     83  
      N       40      117     75  
      N       49      122     80  

T를 스칼라 구조체로 변환합니다.

S = table2struct(T,"ToScalar",true)
S = struct with fields:
           Smoker: [5x1 categorical]
              Age: [5x1 double]
    BloodPressure: [5x2 double]

테이블 T가 5개의 행을 가지므로 스칼라 구조체의 필드에 포함된 데이터는 5×1이 됩니다.

필드 BloodPressure의 데이터를 표시합니다.

S.BloodPressure
ans = 5×2

   124    93
   109    77
   125    83
   117    75
   122    80

구조체 필드 BloodPressure는 테이블 T에서 같은 이름을 가진 변수에 포함된 모든 데이터를 포함합니다.

행 이름을 포함하는 테이블 T를 만듭니다.

T = table(categorical(["Y";"N";"Y";"N";"N"]),[38;43;38;40;49],...
    [124 93;109 77; 125 83; 117 75; 122 80],...
    'VariableNames',["Smoker" "Age" "BloodPressure"],...
    'RowNames',["Chang" "Brown" "Ruiz" "Lee" "Smith"])
T=5×3 table
             Smoker    Age    BloodPressure
             ______    ___    _____________

    Chang      Y       38      124     93  
    Brown      N       43      109     77  
    Ruiz       Y       38      125     83  
    Lee        N       40      117     75  
    Smith      N       49      122     80  

T를 스칼라 구조체로 변환합니다.

S = table2struct(T,"ToScalar",true)
S = struct with fields:
           Smoker: [5x1 categorical]
              Age: [5x1 double]
    BloodPressure: [5x2 double]

테이블의 행 이름에 대한 필드를 추가합니다.

S.RowNames = T.Properties.RowNames
S = struct with fields:
           Smoker: [5x1 categorical]
              Age: [5x1 double]
    BloodPressure: [5x2 double]
         RowNames: {5x1 cell}

S가 비 스칼라 구조체인 경우, 테이블의 행 이름을 담은 필드를 포함하려면 [S.RowNames] = T.Properties.RowNames{:}을 사용하십시오.

입력 인수

모두 축소

입력 테이블로, table형 또는 timetable형으로 지정됩니다.

T에 유효한 MATLAB® 식별자가 아닌 이름의 변수가 있는 경우, table2struct는 변수를 수정하여 우선 공백을 제거하고 비ASCII 문자를 밑줄로 바꾸어 유효한 필드 이름이 생성되도록 합니다.

확장 기능

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

버전 내역

R2013b에 개발됨