주요 콘텐츠

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  
      ⋮

스프레드시트에서 테이블을 읽어옵니다. 스프레드시트에서 읽어온 열의 데이터형을 지정하려면 import options 객체를 사용하십시오. 출력 테이블의 처음 8개 행을 표시합니다.

opts = detectImportOptions("outages.csv");
opts.VariableTypes = ["categorical","datetime","double", ...
                      "double","datetime","categorical"];
T1 = readtable("outages.csv",opts)
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")

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

예: T2 = mergevars(T1,vars,"MergeAsTable",true)

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

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

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

확장 기능

모두 확장

버전 내역

R2018a에 개발됨