PAGE TOP

index
テーブル転置

項目 サンプル
テーブルを転置したい
C1C2
110
110
220
220
221
330
332
332
432
440
   =>   
C1C2C3C4C5C6C7C8C9C10
1 1 2 2 2 3 3 3 4 4
10 10 20 20 21 30 32 32 32 40

テーブルを転置したい

[結果]
C1C2
110
110
220
220
221
330
332
332
432
440
   =>   
C1C2C3C4C5C6C7C8C9C10
1 1 2 2 2 3 3 3 4 4
10 10 20 20 21 30 32 32 32 40
[VAPScript]
c1("C1") = {1, 1, 2, 2, 2, 3, 3, 3, 4, 4 };
c2("C2") = {10,10,20,20,21,30,32,32,32,40};
table = cbind(c1,c2);
//
// 転置後、列名として用いる列(C{数字})を作成
newCol = paste("C", as.string({1:nrow(table)}));
// newCol を第一列に結合
table = cbind(newCol, table);
// 転置
table = transpose(table);
// 転置前の列名が第一列になる
// 最初の列を取り除く
result = table({2:ncol(table)});
[解説]
転置処理(transpose())では、 転置前の第一列が 転置後に列名になり、 転置前のテーブルの列名が 転置後に第一列になります。
テーブルのセル値のみを転置させるためには、これらの操作が必要になります。