如何在 R 中查找向量元素的所有组合(无空格)?

r programmingserver side programmingprogramming更新于 2025/4/7 21:37:17

当我们想要查找向量元素的组合时,我们可以使用 combn 函数,组合的大小为 2(对于成对的元素),但结果会在值之间留下空格。如果我们不想得到有空格的组合,那么 combn 函数将与 paste 函数一起使用,通过折叠空格,如以下示例所示。

查看以下示例以了解如何完成。

示例 1

要查找没有空格的向量元素的所有组合,请使用下面给出的代码片段 −

x1<-rpois(10,5)
x1

如果执行上面给出的代码片段,它会生成以下输出 −

[1] 9 5 5 6 7 4 2 4 6 6

要查找没有空格的向量元素的所有组合,请将以下代码添加到上面的代码片段中 −

x1<-rpois(10,5)
combn(x1,2,FUN=paste,collapse='')

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

[1] "95" "95" "96" "97" "94" "92" "94" "96" "96" "55" "56" "57" "54" "52" "54"
[16] "56" "56" "56" "57" "54" "52" "54" "56" "56" "67" "64" "62" "64" "66" "66"
[31] "74" "72" "74" "76" "76" "42" "44" "46" "46" "24" "26" "26" "46" "46" "66"

示例 2

要查找没有空格的向量元素的所有组合,请使用下面给出的代码片段 −

x2<-rpois(15,10)
x2

如果执行上面给出的代码片段,它会生成以下输出 −

[1] 12 5 11 10 6 8 14 13 14 9 8 13 9 11 7

要查找没有空格的向量元素的所有组合,请将以下代码添加到上面的代码片段中 −

x2<-rpois(15,10)
combn(x2,2,FUN=paste,collapse='')

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

[1] "125" "1211" "1210" "126" "128" "1214" "1213" "1214" "129" "128"
[11] "1213" "129" "1211" "127" "511" "510" "56" "58" "514" "513"
[21] "514" "59" "58" "513" "59" "511" "57" "1110" "116" "118"
[31] "1114" "1113" "1114" "119" "118" "1113" "119" "1111" "117" "106"
[41] "108" "1014" "1013" "1014" "109" "108" "1013" "109" "1011" "107"
[51] "68" "614" "613" "614" "69" "68" "613" "69" "611" "67"
[61] "814" "813" "814" "89" "88" "813" "89" "811" "87" "1413"
[71] "1414" "149" "148" "1413" "149" "1411" "147" "1314" "139" "138"
[81] "1313" "139" "1311" "137" "149" "148" "1413" "149" "1411" "147"
[91] "98" "913" "99" "911" "97" "813" "89" "811" "87" "139"
[101] "1311" "137" "911" "97" "117"

示例 3

要查找没有空格的向量元素的所有组合,请使用下面给出的代码片段 −

x3<-sample(LETTERS[1:26],20)
x3

如果执行上面给出的代码片段,它会生成以下输出 −

[1] "Z" "F" "U" "G" "S" "O" "I" "X" "T" "M" "D" "W" "L" "P" "C" "N" "H" "Q" "A"
[20] "B"

要查找向量元素的所有组合(不含空格),请将以下代码添加到上述代码片段中 −

x3<-sample(LETTERS[1:26],20)
combn(x3,2,FUN=paste,collapse='')

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

[1] "ZF" "ZU" "ZG" "ZS" "ZO" "ZI" "ZX" "ZT" "ZM" "ZD" "ZW" "ZL" "ZP" "ZC" "ZN"
[16] "ZH" "ZQ" "ZA" "ZB" "FU" "FG" "FS" "FO" "FI" "FX" "FT" "FM" "FD" "FW" "FL"
[31] "FP" "FC" "FN" "FH" "FQ" "FA" "FB" "UG" "US" "UO" "UI" "UX" "UT" "UM" "UD"
[46] "UW" "UL" "UP" "UC" "UN" "UH" "UQ" "UA" "UB" "GS" "GO" "GI" "GX" "GT" "GM"
[61] "GD" "GW" "GL" "GP" "GC" "GN" "GH" "GQ" "GA" "GB" "SO" "SI" "SX" "ST" "SM"
[76] "SD" "SW" "SL" "SP" "SC" "SN" "SH" "SQ" "SA" "SB" "OI" "OX" "OT" "OM" "OD"
[91] "OW" "OL" "OP" "OC" "ON" "OH" "OQ" "OA" "OB" "IX" "IT" "IM" "ID" "IW" "IL"
[106] "IP" "IC" "IN" "IH" "IQ" "IA" "IB" "XT" "XM" "XD" "XW" "XL" "XP" "XC" "XN"
[121] "XH" "XQ" "XA" "XB" "TM" "TD" "TW" "TL" "TP" "TC" "TN" "TH" "TQ" "TA" "TB"
[136] "MD" "MW" "ML" "MP" "MC" "MN" "MH" "MQ" "MA" "MB" "DW" "DL" "DP" "DC" "DN"
[151] "DH" "DQ" "DA" "DB" "WL" "WP" "WC" "WN" "WH" "WQ" "WA" "WB" "LP" "LC" "LN"
[166] "LH" "LQ" "LA" "LB" "PC" "PN" "PH" "PQ" "PA" "PB" "CN" "CH" "CQ" "CA" "CB"
[181] "NH" "NQ" "NA" "NB" "HQ" "HA" "HB" "QA" "QB" "AB"

示例 4

要查找没有空格的向量元素的所有组合,请使用下面给出的代码片段 −

x4<-sample(0:9,20,replace=TRUE)
x4

如果执行上面给出的代码片段,它会生成以下输出 −

[1] 6 8 8 0 6 8 9 5 3 1 8 8 8 3 2 5 3 9 0 2

要查找没有空格的向量元素的所有组合,请将以下代码添加到上面的代码片段 −

x4<-sample(0:9,20,replace=TRUE)
combn(x4,2,FUN=paste,collapse='')

输出

如果您将上述所有代码片段作为一个程序执行,则会生成以下输出:

[1] "68" "68" "60" "66" "68" "69" "65" "63" "61" "68" "68" "68" "63" "62" "65"
[16] "63" "69" "60" "62" "88" "80" "86" "88" "89" "85" "83" "81" "88" "88" "88"
[31] "83" "82" "85" "83" "89" "80" "82" "80" "86" "88" "89" "85" "83" "81" "88"
[46] "88" "88" "83" "82" "85" "83" "89" "80" "82" "06" "08" "09" "05" "03" "01"
[61] "08" "08" "08" "03" "02" "05" "03" "09" "00" "02" "68" "69" "65" "63" "61"
[76] "68" "68" "68" "63" "62" "65" "63" "69" "60" "62" "89" "85" "83" "81" "88"
[91] "88" "88" "83" "82" "85" "83" "89" "80" "82" "95" "93" "91" "98" "98" "98"
[106] "93" "92" "95" "93" "99" "90" "92" "53" "51" "58" "58" "58" "53" "52" "55"
[121] "53" "59" "50" "52" "31" "38" "38" "38" "33" "32" "35" "33" "39" "30" "32"
[136] "18" "18" "18" "13" "12" "15" "13" "19" "10" "12" "88" "88" "83" "82" "85"
[151] "83" "89" "80" "82" "88" "83" "82" "85" "83" "89" "80" "82" "83" "82" "85"
[166] "83" "89" "80" "82" "32" "35" "33" "39" "30" "32" "25" "23" "29" "20" "22"
[181] "53" "59" "50" "52" "39" "30" "32" "90" "92" "02"

示例 5

要查找没有空格的向量元素的所有组合,请使用下面给出的代码片段 −

x5<-sample(1:100,15)
x5

如果执行上面给出的代码片段,它会生成以下输出 −

[1] 7 93 95 34 36 47 77 71 57 83 30 24 48 31 68

要查找没有空格的向量元素的所有组合,请将以下代码添加到上面的代码片段中 −

x5<-sample(1:100,15)
combn(x5,2,FUN=paste,collapse='')

输出

如果将上述所有代码片段作为单个程序执行,则会生成以下输出 −

[1] "793" "795" "734" "736" "747" "777" "771" "757" "783" "730"
[11] "724" "748" "731" "768" "9395" "9334" "9336" "9347" "9377" "9371"
[21] "9357" "9383" "9330" "9324" "9348" "9331" "9368" "9534" "9536" "9547"
[31] "9577" "9571" "9557" "9583" "9530" "9524" "9548" "9531" "9568" "3436"
[41] "3447" "3477" "3471" "3457" "3483" "3430" "3424" "3448" "3431" "3468"
[51] "3647" "3677" "3671" "3657" "3683" "3630" "3624" "3648" "3631" "3668"
[61] "4777" "4771" "4757" "4783" "4730" "4724" "4748" "4731" "4768" "7771"
[71] "7757" "7783" "7730" "7724" "7748" "7731" "7768" "7157" "7183" "7130"
[81] "7124" "7148" "7131" "7168" "5783" "5730" "5724" "5748" "5731" "5768"
[91] "8330" "8324" "8348" "8331" "8368" "3024" "3048" "3031" "3068" "2448"
[101] "2431" "2468" "4831" "4868" "3168"

相关文章