주요 콘텐츠

mergevars

테이블 또는 타임테이블 변수를 다중 열 변수로 결합

설명

T2 = mergevars(T1,vars)vars로 지정된 테이블 변수를 결합하여 T2에 하나의 다중 열 변수를 만듭니다. T1의 다른 모든 변수는 변경되지 않습니다. 이름, 위치 또는 논리형 인덱스를 사용하여 변수를 지정할 수 있습니다.

예를 들어, T1var3var5라는 변수가 있으면 T2 = mergevars(T1,["var3" "var5"])를 사용하여 두 개의 열을 가진 하나의 변수로 결합할 수 있습니다.

기본적으로 병합된 변수 이름은 T2에서 VarN 형식을 가집니다. 여기서 N은 병합된 변수의 위치입니다. 예를 들어, 병합된 변수가 T2의 세 번째 변수인 경우 이 변수의 이름은 Var3입니다.

다중 열 변수를 분할하려면 splitvars 함수를 사용하십시오.

예제

T2 = mergevars(T1,vars,Name=Value)는 위에 열거된 구문에 나와 있는 입력 인수 외에, 이름-값 인수를 하나 이상 사용하여 옵션을 지정합니다. 예를 들어, 병합된 변수의 이름을 지정하려면 NewVariableName을 사용자가 지정하는 이름으로 설정합니다.

예제

예제

모두 축소

작업 공간 변수로 테이블을 만듭니다.

A = [1:3]';
B = [5 11 12]';
C = [3.14 2.72 1.37]';
D = ["a";"b";"c"];
T1 = table(A,B,C,D)
T1=3×4 table
    A    B      C       D 
    _    __    ____    ___

    1     5    3.14    "a"
    2    11    2.72    "b"
    3    12    1.37    "c"

두 번째 변수와 세 번째 변수를 병합합니다. 새 변수는 두 개의 열을 갖습니다.

T2 = mergevars(T1,[2 3])
T2=3×3 table
    A       Var2        D 
    _    __________    ___

    1     5    3.14    "a"
    2    11    2.72    "b"
    3    12    1.37    "c"

patients.mat 파일의 데이터로 구성된 배열을 사용하여 테이블을 만듭니다.

load patients
T1 = table(Age,Height,Weight,Systolic,Diastolic)
T1=100×5 table
    Age    Height    Weight    Systolic    Diastolic
    ___    ______    ______    ________    _________

    38       71       176        124          93    
    43       69       163        109          77    
    38       64       131        125          83    
    40       67       133        117          75    
    49       64       119        122          80    
    46       68       142        121          70    
    33       64       142        130          88    
    40       68       180        115          82    
    28       68       183        115          78    
    31       66       132        118          86    
    45       68       128        114          77    
    42       66       137        115          68    
    25       71       174        127          74    
    39       72       202        130          95    
    36       65       129        114          79    
    48       71       181        130          92    
      ⋮

변수 SystolicDiastolic을 병합하여 두 개의 열을 가진 하나의 변수로 병합합니다. 이름을 BloodPressure로 지정합니다.

T2 = mergevars(T1,["Systolic" "Diastolic"], ...
               NewVariableName="BloodPressure")
T2=100×4 table
    Age    Height    Weight    BloodPressure
    ___    ______    ______    _____________

    38       71       176       124     93  
    43       69       163       109     77  
    38       64       131       125     83  
    40       67       133       117     75  
    49       64       119       122     80  
    46       68       142       121     70  
    33       64       142       130     88  
    40       68       180       115     82  
    28       68       183       115     78  
    31       66       132       118     86  
    45       68       128       114     77  
    42       66       137       115     68  
    25       71       174       127     74  
    39       72       202       130     95  
    36       65       129       114     79  
    48       71       181       130     92  
      ⋮

스프레드시트에서 테이블을 읽어옵니다.

T1 = readtable("outages.csv",TextType="string")
T1=1468×6 table
      Region          OutageTime        Loss     Customers     RestorationTime           Cause      
    ___________    ________________    ______    __________    ________________    _________________

    "SouthWest"    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    "winter storm"   
    "SouthEast"    2003-01-23 00:49    530.14    2.1204e+05                 NaT    "winter storm"   
    "SouthEast"    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    "winter storm"   
    "West"         2004-04-06 05:44    434.81    3.4037e+05    2004-04-06 06:10    "equipment fault"
    "MidWest"      2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    "severe storm"   
    "West"         2003-06-18 02:49         0             0    2003-06-18 10:54    "attack"         
    "West"         2004-06-20 14:39    231.29           NaN    2004-06-20 19:16    "equipment fault"
    "West"         2002-06-06 19:28    311.86           NaN    2002-06-07 00:51    "equipment fault"
    "NorthEast"    2003-07-16 16:23    239.93         49434    2003-07-17 01:12    "fire"           
    "MidWest"      2004-09-27 11:09    286.72         66104    2004-09-27 16:37    "equipment fault"
    "SouthEast"    2004-09-05 17:48    73.387         36073    2004-09-05 20:46    "equipment fault"
    "West"         2004-05-21 21:45    159.99           NaN    2004-05-22 04:23    "equipment fault"
    "SouthEast"    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    "severe storm"   
    "SouthEast"    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    "severe storm"   
    "West"         2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    "winter storm"   
    "NorthEast"    2004-09-18 05:54         0             0                 NaT    "equipment fault"
      ⋮

Cause, Loss, RestorationTime을 병합합니다. 이러한 변수는 데이터형이 서로 다르므로, 출력 테이블 안에 중첩된 하나의 테이블로 병합합니다.

T2 = mergevars(T1,["Cause" "Loss" "RestorationTime"], ...
               NewVariableName="LossData",MergeAsTable=true)
T2=1468×4 table
      Region          OutageTime       Customers                        LossData                    
    ___________    ________________    __________    _______________________________________________

                                                           Cause           Loss     RestorationTime 
                                                     _________________    ______    ________________
                                                                                                    
    "SouthWest"    2002-02-01 12:18    1.8202e+06    "winter storm"       458.98    2002-02-07 16:50
    "SouthEast"    2003-01-23 00:49    2.1204e+05    "winter storm"       530.14                 NaT
    "SouthEast"    2003-02-07 21:15    1.4294e+05    "winter storm"        289.4    2003-02-17 08:14
    "West"         2004-04-06 05:44    3.4037e+05    "equipment fault"    434.81    2004-04-06 06:10
    "MidWest"      2002-03-16 06:18    2.1275e+05    "severe storm"       186.44    2002-03-18 23:23
    "West"         2003-06-18 02:49             0    "attack"                  0    2003-06-18 10:54
    "West"         2004-06-20 14:39           NaN    "equipment fault"    231.29    2004-06-20 19:16
    "West"         2002-06-06 19:28           NaN    "equipment fault"    311.86    2002-06-07 00:51
    "NorthEast"    2003-07-16 16:23         49434    "fire"               239.93    2003-07-17 01:12
    "MidWest"      2004-09-27 11:09         66104    "equipment fault"    286.72    2004-09-27 16:37
    "SouthEast"    2004-09-05 17:48         36073    "equipment fault"    73.387    2004-09-05 20:46
    "West"         2004-05-21 21:45           NaN    "equipment fault"    159.99    2004-05-22 04:23
    "SouthEast"    2002-09-01 18:22         36759    "severe storm"       95.917    2002-09-01 19:12
    "SouthEast"    2003-09-27 07:32    3.5517e+05    "severe storm"          NaN    2003-10-04 07:02
    "West"         2003-11-12 06:12    9.2429e+05    "winter storm"       254.09    2003-11-17 02:04
    "NorthEast"    2004-09-18 05:54             0    "equipment fault"         0                 NaT
      ⋮

입력 인수

모두 축소

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

입력 테이블의 변수로, string형 배열, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, pattern형 스칼라, 숫자형 배열 또는 논리형 배열로 지정됩니다.

이름-값 인수

모두 축소

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

예: T2 = mergevars(T1,vars,NewVariableName="MergedResults")

병합된 변수의 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.

변수를 테이블로 병합할지 지정하는 플래그로, 숫자형 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 지정된 변수를 출력 테이블 변수 안에 중첩된 테이블로 병합하려면 이 플래그를 true 또는 1로 지정합니다. 배열로 결합할 수 없는 변수를 결합하려면 이 인수를 사용하십시오.

디폴트 값 false를 사용하면 mergevars가 지정된 변수를 출력 테이블의 변수인 하나의 다중 열 배열로 병합합니다.

출력 인수

모두 축소

병합된 변수를 갖는 출력 테이블로, 테이블이나 타임테이블로 반환됩니다.

확장 기능

모두 확장

버전 내역

R2018a에 개발됨