項目 | サンプル | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
6:4 でテーブルを前後2つに分けたい |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
6:4 でテーブルをランダムに分けたい |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
キーを単位に 6:4 のブロック比で前後2つに分けたい |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
キーを単位に 6:4 のブロック比でランダムに分けたい |
|
|
=> |
|
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); // ratio = 0.6; nr = as.integer(nrow(table)*ratio); keycol = {1:nr}; result = sel(row=keycol, table); result2 = sel(not row=keycol, table);
|
=> |
|
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); // ratio = 0.6; ijudge = as.integer(nrow(table)*ratio); ctemp = shuffle({1:nrow(table)}); result = sel(ctemp(1) <= ijudge, table); result2 = sel(ctemp(1) > ijudge, table);
|
=> |
|
c1("C1") = {1, 1, 2, 2, 2, 3, 3, 3, 3, 4 }; c2("C2") = {10,10,20,20,21,30,32,32,32,40}; table = cbind(c1,c2); // ratio = 0.6; keyColName = "C1"; keyCol = remove_dup(table(keyColName), keyColName); nr = as.integer(nrow(keyCol) * ratio); keyColBefore = sel(row={1:nr}, keyCol); result = sel(belong(table(keyColName), keyColBefore), table); result2 = sel(not belong(table(keyColName), keyColBefore), table);
|
=> |
|
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); // keyColName = "C1"; ratio = 0.6; c1uniq("C1") = remove_dup(table(keyColName), keyColName); c2rate("C2") = shuffle({1:nrow(c1uniq)}); tableJudge = cbind(c1uniq, c2rate); ijudge = as.integer(nrow(tableJudge)*ratio); mergeTable = merge(table, tableJudge, "00", keyColName, "C1"); ic=ncol(mergeTable); result = sel(mergeTable(ic) <= ijudge, table); result2 = sel(mergeTable(ic) > ijudge, table);
c1("C1") = {1, 1, 2, 2, 2, 3, 3, 3, 4, 4 }; c2("C2") = {10,10,20,20,21,30,32,32,32,40}; c1 = as.string(c1); table = cbind(c1,c2); // keyColName = "C1"; ratio = 0.6; key = table(keyColName); uniqueKey = counts(key); // 重複を取り除く keyLearn = make_sample(uniqueKey, ratio); keyTest = sel(not belong(uniqueKey, keyLearn), uniqueKey); result = sel(belong(key, keyLearn), table); result2 = sel(belong(key, keyTest), table);