PAGE TOP

index
列並び替

項目 サンプル
列を並び替えたい(index)
C1C2C3C4C5
1 C2 3 C4 C5
   =>   
C1C5C4C2C3
1 C5 C4 C2 3
列を並び替えたい(列名)
C1C2C3C4C5
1 C2 3 C4 C5
   =>   
C1C5C4C2C3
1 C5 C4 C2 3
列を逆順に並び替えたい
C1C2C3C4C5
1 C2 3 C4 C5
   =>   
C5C4C3C2C1
C5 C4 3 C2 1
ある列を左端と入れ替えたい(index)
C1C2C3C4C5
1C23C4C5
   =>   
C3C1C2C4C5
31C2C4C5
ある列を右端と入れ替えたい(index)
C1C2C3C4C5
1C23C4C5
   =>   
C1C2C4C5C3
1C2C4C53
ある列を左端と入れ替えたい(列名)
C1C2C3C4C5
1C23C4C5
   =>   
C3C1C2C4C5
31C2C4C5
ある列を右端と入れ替えたい(列名)
C1C2C3C4C5
1C23C4C5
   =>   
C1C2C4C5C3
1C2C4C53

列を並び替えたい(index)

[結果]
C1C2C3C4C5
1 C2 3 C4 C5
   =>   
C1C5C4C2C3
1 C5 C4 C2 3
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
result = table(1,5,4,2,3);
[解説]
テーブルの列の並び替えは、 (テーブル名)() 関数 の引数に、所望する並びで列indexを指定することで 可能になります。


列を並び替えたい(列名)

[結果]
C1C2C3C4C5
1 C2 3 C4 C5
   =>   
C1C5C4C2C3
1 C5 C4 C2 3
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
result = table("C1","C5","C4","C2","C3");
[解説]
テーブルの列の並び替えは、 (テーブル名)() 関数 の引数に、列名を指定しても可能です。


列を逆順に並び替えたい

[結果]
C1C2C3C4C5
1 C2 3 C4 C5
   =>   
C5C4C3C2C1
C5 C4 3 C2 1
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
result = table({ncol(table):1:-1});
[解説]
テーブルの列を逆順に並び替えるには、 (テーブル名)() 関数 の引数に、降順に並べた列indexの数列を指定します。


ある列を左端と入れ替えたい(index)

[結果]
C1C2C3C4C5
1C23C4C5
   =>   
C3C1C2C4C5
31C2C4C5
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
icol = 3;
colIndexList = {1:ncol(table)};
colIndexListNew = rbind(icol, sel(not row=icol, colIndexList));
result = table(colIndexListNew);
[解説]
指定index列を左端に持ってくるには、 指定indexとそれ以外の列indexの列データを用意し、指定indexを先頭に結合させた後、 (テーブル名)() 関数 を用いて、並び替えを行ないます。
まず、「指定index以外の列indexの列データ」には sel(not row= ,)を用います。
結合するには rbind() を用いて、指定indexを先に指定して、列データcolIndexListNewを作成します。
あとは、このcolIndexListNewをtable()に渡すだけで、並び替えられたテーブルが取得できます。


ある列を右端と入れ替えたい(index)

[結果]
C1C2C3C4C5
1C23C4C5
   =>   
C1C2C4C5C3
1C2C4C53
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
icol = 3;
colIndexList = {1:ncol(table)};
colIndexListNew = rbind(sel(not row=icol, colIndexList), icol);
result = table(colIndexListNew);
[解説]
指定index列を右端に持ってくるには、 指定index以外の列indexの列データと指定indexを用意し、指定indexを末尾に結合させた後、 (テーブル名)() 関数 を用いて、並び替えを行ないます。
まず、「指定index以外の列indexの列データ」には sel(not row= ,)を用います。
結合するには rbind() を用いて、指定indexを後に指定して、列データcolIndexListNewを作成します。
あとは、このcolIndexListNewをtable()に渡すだけで、並び替えられたテーブルが取得できます。


ある列を左端と入れ替えたい(列名)

[結果]
C1C2C3C4C5
1C23C4C5
   =>   
C3C1C2C4C5
31C2C4C5
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
colName = "C3";
colNameList = titles(table);
colNameListNew = rbind(colName, sel(not belong(colNameList,colName), colNameList));
result = table(colNameListNew);
[解説]
指定列名を左端に持ってくるには、 指定列名とそれ以外の列名の列データを用意し、指定列名を先頭に結合させた後、 (テーブル名)() 関数 を用いて、並び替えを行ないます。
まず、「指定列名以外の列名の列データ」には sel(not belong())を用います。
結合するには rbind() を用いて、指定列名を先に指定して、列データcolNameListNewを作成します。
あとは、このcolNameListNewをtable()に渡すだけで、並び替えられたテーブルが取得できます。


ある列を右端と入れ替えたい(列名)

[結果]
C1C2C3C4C5
1C23C4C5
   =>   
C1C2C4C5C3
1C2C4C53
[VAPScript]
table("C1","C2","C3","C4","C5") = cbind(1,"C2",3,"C4","C5");
//
colName = "C3";
colNameList = titles(table);
colNameListNew = rbind(sel(not belong(colNameList,colName), colNameList), colName);
result = table(colNameListNew);
[解説]
指定列名を右端に持ってくるには、 指定列名とそれ以外の列名の列データを用意し、指定列名を末尾に結合させた後、 (テーブル名)() 関数 を用いて、並び替えを行ないます。
まず、「指定列名以外の列名の列データ」には sel(not belong())を用います。
結合するには rbind() を用いて、指定列名を後に指定して、列データcolNameListNewを作成します。
あとは、このcolNameListNewをtable()に渡すだけで、並び替えられたテーブルが取得できます。