주요 콘텐츠

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

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: [5×1 categorical]
              Age: [5×1 double]
    BloodPressure: [5×2 double]

테이블 T가 5개의 행을 가지므로 스칼라 구조체의 필드에 포함된 데이터 배열도 모두 5개의 행을 가집니다.

필드 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: [5×1 categorical]
              Age: [5×1 double]
    BloodPressure: [5×2 double]

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

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

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

입력 인수

모두 축소

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

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

출력 인수

모두 축소

출력 구조체형 배열입니다.

확장 기능

모두 확장

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

버전 내역

R2013b에 개발됨