Main Content

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    01-Feb-2002 12:18:00    458.98    1.8202e+06    07-Feb-2002 16:50:00    winter storm   
    SouthEast    23-Jan-2003 00:49:00    530.14    2.1204e+05                     NaT    winter storm   
    SouthEast    07-Feb-2003 21:15:00     289.4    1.4294e+05    17-Feb-2003 08:14:00    winter storm   
    West         06-Apr-2004 05:44:00    434.81    3.4037e+05    06-Apr-2004 06:10:00    equipment fault
    MidWest      16-Mar-2002 06:18:00    186.44    2.1275e+05    18-Mar-2002 23:23:00    severe storm   
    West         18-Jun-2003 02:49:00         0             0    18-Jun-2003 10:54:00    attack         
    West         20-Jun-2004 14:39:00    231.29           NaN    20-Jun-2004 19:16:00    equipment fault
    West         06-Jun-2002 19:28:00    311.86           NaN    07-Jun-2002 00:51:00    equipment fault
    NorthEast    16-Jul-2003 16:23:00    239.93         49434    17-Jul-2003 01:12:00    fire           
    MidWest      27-Sep-2004 11:09:00    286.72         66104    27-Sep-2004 16:37:00    equipment fault
    SouthEast    05-Sep-2004 17:48:00    73.387         36073    05-Sep-2004 20:46:00    equipment fault
    West         21-May-2004 21:45:00    159.99           NaN    22-May-2004 04:23:00    equipment fault
    SouthEast    01-Sep-2002 18:22:00    95.917         36759    01-Sep-2002 19:12:00    severe storm   
    SouthEast    27-Sep-2003 07:32:00       NaN    3.5517e+05    04-Oct-2003 07:02:00    severe storm   
    West         12-Nov-2003 06:12:00    254.09    9.2429e+05    17-Nov-2003 02:04:00    winter storm   
    NorthEast    18-Sep-2004 05:54:00         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    01-Feb-2002 12:18:00    1.8202e+06    winter storm       458.98    07-Feb-2002 16:50:00
    SouthEast    23-Jan-2003 00:49:00    2.1204e+05    winter storm       530.14                     NaT
    SouthEast    07-Feb-2003 21:15:00    1.4294e+05    winter storm        289.4    17-Feb-2003 08:14:00
    West         06-Apr-2004 05:44:00    3.4037e+05    equipment fault    434.81    06-Apr-2004 06:10:00
    MidWest      16-Mar-2002 06:18:00    2.1275e+05    severe storm       186.44    18-Mar-2002 23:23:00
    West         18-Jun-2003 02:49:00             0    attack                  0    18-Jun-2003 10:54:00
    West         20-Jun-2004 14:39:00           NaN    equipment fault    231.29    20-Jun-2004 19:16:00
    West         06-Jun-2002 19:28:00           NaN    equipment fault    311.86    07-Jun-2002 00:51:00
    NorthEast    16-Jul-2003 16:23:00         49434    fire               239.93    17-Jul-2003 01:12:00
    MidWest      27-Sep-2004 11:09:00         66104    equipment fault    286.72    27-Sep-2004 16:37:00
    SouthEast    05-Sep-2004 17:48:00         36073    equipment fault    73.387    05-Sep-2004 20:46:00
    West         21-May-2004 21:45:00           NaN    equipment fault    159.99    22-May-2004 04:23:00
    SouthEast    01-Sep-2002 18:22:00         36759    severe storm       95.917    01-Sep-2002 19:12:00
    SouthEast    27-Sep-2003 07:32:00    3.5517e+05    severe storm          NaN    04-Oct-2003 07:02:00
    West         12-Nov-2003 06:12:00    9.2429e+05    winter storm       254.09    17-Nov-2003 02:04:00
    NorthEast    18-Sep-2004 05:54:00             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에 개발됨