r - 对向量列表中的单个值进行多次采样

标签 r list matrix sample

我有以下向量列表:

list(c(663L, 705L, 680L, 769L, 775L, 327L, 665L, 805L, 808L, 
689L, 774L, 831L, 832L, 217L, 739L, 918L, 354L, 373L, 764L, 691L, 
839L, 372L, 146L, 840L, 727L, 728L, 617L, 647L, 159L, 161L, 581L, 
142L, 618L, 332L, 585L, 134L, 809L, 154L, 158L, 133L, 448L, 736L, 
737L, 815L, 876L, 151L, 750L, 701L, 778L, 861L, 584L, 692L, 427L, 
455L, 601L, 412L, 432L, 449L, 457L, 456L, 620L, 124L, 125L, 679L, 
329L, 667L, 697L, 806L, 807L, 312L, 315L, 733L, 821L, 222L, 583L, 
702L, 631L, 642L, 812L, 850L, 726L, 853L, 129L, 660L, 799L, 410L, 
188L, 798L, 130L, 703L, 341L, 826L, 137L, 253L, 123L, 827L, 844L, 
786L, 655L, 879L, 695L, 749L, 866L, 820L, 890L, 889L, 888L, 694L, 
744L, 746L, 813L, 818L, 868L, 873L, 872L, 869L, 870L, 414L, 738L, 
751L, 208L, 209L, 210L, 899L, 900L, 901L, 903L, 902L, 904L, 913L, 
911L, 912L, 767L, 917L, 777L, 521L, 396L, 397L, 915L, 277L, 529L, 
740L, 509L, 508L, 524L, 224L, 790L, 791L, 698L, 725L, 696L, 817L, 
802L, 897L, 898L, 787L, 788L, 789L, 462L, 356L, 395L, 693L, 745L, 
469L, 519L, 336L, 355L, 792L, 556L, 375L, 398L, 358L, 399L, 720L, 
539L, 558L, 331L, 166L, 167L, 128L, 131L, 214L, 239L, 269L, 276L, 
213L, 337L, 176L, 304L, 503L, 394L, 296L, 298L, 211L, 223L, 238L, 
338L, 487L, 490L, 488L, 489L, 273L, 274L, 892L, 300L, 301L, 816L, 
819L, 275L, 752L, 139L, 206L, 420L, 793L, 215L, 320L, 321L, 676L, 
226L, 699L, 325L, 252L, 319L, 672L, 236L, 306L, 743L, 237L, 439L, 
212L, 675L, 333L, 429L, 476L, 478L, 704L, 768L, 440L, 517L, 518L, 
776L, 810L, 413L, 554L, 555L, 765L, 622L, 626L, 624L, 625L, 231L, 
577L, 335L, 628L, 629L, 511L, 339L, 352L, 353L, 138L, 578L, 349L, 
496L, 611L, 606L, 614L, 612L, 613L, 607L, 609L, 608L, 610L, 328L, 
194L, 195L, 639L, 183L, 632L, 340L, 418L, 308L, 435L, 436L, 437L, 
543L, 905L, 914L, 428L, 374L, 444L, 502L, 825L, 510L, 732L, 557L, 
559L, 730L, 566L, 567L, 506L, 520L, 531L, 534L, 549L, 630L, 174L, 
175L, 140L, 677L, 426L, 377L, 392L, 196L, 186L, 197L, 144L, 141L, 
407L), c(887L, 886L, 884L, 885L), c(528L, 527L, 525L, 526L), 
    c(70L, 71L, 75L, 77L, 72L, 73L, 74L, 76L), c(111L, 109L, 
    110L, 98L, 120L, 112L, 116L, 103L, 106L, 93L, 95L, 94L, 119L, 
    117L, 99L, 118L), c(87L, 88L, 89L, 81L, 82L, 83L, 84L, 85L, 
    86L, 91L, 92L, 949L, 126L, 127L, 90L, 122L), c(530L, 185L, 
    202L, 363L, 729L, 880L, 368L, 401L, 391L, 405L, 906L, 513L, 
    652L, 708L, 552L, 766L, 505L, 382L, 383L, 803L, 565L, 571L, 
    572L, 688L, 460L, 480L, 661L, 153L, 859L, 256L, 268L, 685L, 
    763L, 147L, 865L, 874L, 741L, 754L, 858L, 878L, 220L, 225L, 
    307L, 317L, 313L, 758L, 314L, 848L, 163L, 165L, 387L, 452L, 
    378L, 270L, 271L, 464L, 302L, 280L, 283L, 504L, 712L, 281L, 
    801L), c(595L, 596L, 597L, 908L, 841L, 842L, 493L, 669L, 
    783L, 360L, 507L, 500L, 501L, 823L, 824L, 779L, 891L, 780L, 
    781L, 760L, 379L, 756L, 762L, 857L, 814L, 759L, 854L, 867L, 
    871L, 856L, 855L, 877L, 851L, 852L, 318L, 735L, 811L, 619L, 
    863L, 322L, 326L, 310L, 309L, 323L, 324L, 459L, 700L, 461L, 
    687L, 664L, 668L, 587L, 590L, 562L, 563L, 564L, 574L, 569L, 
    573L, 342L, 547L, 561L, 568L, 575L, 662L, 240L, 316L, 311L, 
    761L, 443L, 445L, 446L, 836L, 755L, 909L, 910L, 830L, 533L, 
    881L, 916L, 716L, 843L, 666L, 690L, 670L, 551L, 173L, 466L, 
    415L, 748L, 718L, 860L, 673L, 747L, 742L, 846L, 875L, 576L, 
    345L, 594L, 604L, 644L, 603L, 602L, 605L, 598L, 441L, 442L, 
    450L, 453L, 616L, 447L, 454L, 419L, 433L, 822L, 431L, 634L, 
    633L, 645L, 586L, 615L, 359L, 421L, 361L, 385L, 386L, 347L, 
    351L, 757L, 834L, 835L, 155L, 481L, 169L, 390L, 170L, 636L, 
    417L, 711L, 160L, 162L, 143L, 156L, 593L, 150L, 657L, 656L, 
    658L, 152L, 648L, 357L, 380L, 434L, 829L, 847L, 580L, 145L, 
    678L, 164L, 430L, 203L, 204L, 198L, 199L, 635L, 637L, 640L, 
    641L, 544L, 179L, 828L, 148L, 254L, 184L, 653L, 650L, 651L, 
    191L, 200L, 201L, 177L, 178L, 181L, 182L, 207L, 495L, 424L, 
    381L, 403L, 282L, 404L, 406L, 710L, 278L, 279L, 494L, 484L, 
    485L, 486L, 425L, 498L, 497L, 334L, 348L, 371L, 463L, 467L, 
    686L, 362L, 402L, 384L, 400L, 230L, 344L, 671L, 684L, 546L, 
    560L, 709L, 479L, 550L, 570L, 388L, 389L, 149L, 190L, 221L, 
    376L), c(1364L, 1373L, 1371L, 1372L, 1148L, 1211L, 1369L, 
    1370L, 1165L, 1377L, 1378L, 1112L, 1140L, 1139L, 1143L, 1019L, 
    1006L, 1247L, 1263L, 1191L, 1208L, 1059L, 1062L, 1115L, 1451L, 
    1448L, 1449L, 1113L, 1144L, 1458L, 1498L, 1499L, 955L, 968L, 
    1093L, 1365L, 1141L, 1265L, 1248L, 1249L, 1040L, 985L, 1119L, 
    1107L, 986L, 1197L, 1317L, 975L, 1155L, 1267L, 1215L, 1266L, 
    1106L, 1111L, 1058L, 1060L, 1457L, 1250L, 1314L, 1234L, 1146L, 
    1315L, 1101L, 1116L, 1310L, 1335L, 1041L, 1114L, 1124L, 954L, 
    1351L, 1358L, 1011L, 1409L, 1049L, 1167L, 1341L, 1278L, 1316L, 
    1392L, 1418L, 1307L, 1342L, 1086L, 1356L, 1432L, 1434L, 1466L, 
    1467L, 1479L, 1501L, 1487L, 1496L, 1495L, 1497L, 1476L, 1505L, 
    1506L, 1508L, 1507L, 1510L, 944L, 950L), c(1069L, 1094L, 
    1200L, 1306L, 981L, 1110L, 1206L, 1308L, 1047L, 1207L, 1312L, 
    1313L, 1109L, 1334L, 1309L, 1332L), c(1237L, 1242L, 1240L, 
    1243L, 1239L, 1238L, 1241L, 1343L, 1181L, 1301L, 1298L, 1300L, 
    1117L, 1133L, 1061L, 1419L, 1416L, 1417L, 1453L, 1311L, 1339L, 
    1333L, 1336L, 1028L, 1079L, 1459L, 1486L, 1192L, 1010L, 1012L, 
    1125L, 1199L, 1142L, 1205L, 1196L, 1198L, 951L, 1137L, 1128L, 
    1435L), c(930L, 942L, 922L, 940L, 941L, 943L, 920L, 921L, 
    923L, 925L, 927L, 928L, 924L, 926L, 931L, 932L, 937L, 938L, 
    939L, 935L, 936L, 929L, 933L, 934L), c(956L, 1051L, 1433L, 
    1468L, 1077L, 973L, 1438L, 1009L, 1158L, 1082L, 1170L, 1195L, 
    1177L, 1212L, 1213L, 1088L, 1153L, 1152L, 1354L, 959L, 1052L, 
    1176L, 1178L, 957L, 1376L, 1374L, 1375L, 1159L, 1223L, 1227L, 
    1268L, 1302L, 1275L, 1285L, 1016L, 1014L, 1126L, 1055L, 1102L, 
    1171L, 1327L, 1183L, 1274L, 1288L, 1296L, 1186L, 1297L, 1426L, 
    1454L, 1515L, 1078L, 989L, 990L, 980L, 1098L, 1150L, 1151L
    ), 78:79, c(1455L, 1475L, 1509L, 1477L, 1478L, 1494L, 1490L, 
    1491L, 1492L, 1427L, 1425L, 1473L, 1471L, 1472L, 1474L, 977L, 
    1179L, 1299L, 1290L, 1292L, 1480L, 1187L, 1295L, 1233L, 1188L, 
    1185L, 1293L, 1184L, 1294L, 1291L, 1175L, 1286L, 1424L, 1469L, 
    1502L, 1503L, 1421L, 1103L, 1488L, 1489L, 1092L, 1452L, 1350L, 
    1046L, 1166L, 1100L, 1305L, 1180L, 1182L, 1190L, 1289L, 979L, 
    961L, 1406L, 1273L, 1303L, 1456L, 1105L, 1331L, 1304L, 1407L, 
    994L, 1022L, 1021L, 1020L, 1025L, 1024L, 1023L, 1026L, 1216L, 
    1163L, 1161L, 1262L, 1156L, 1164L, 1230L, 1228L, 1224L, 80L, 
    953L, 962L, 974L, 992L, 1004L, 1005L, 1017L, 1031L, 1032L, 
    1029L, 1030L, 1057L, 982L, 1003L, 1007L, 1008L, 1042L, 1097L, 
    1089L, 1160L, 963L, 972L, 1070L, 1044L, 1431L, 1194L, 1204L, 
    993L, 1000L, 1001L, 1209L, 1210L, 1470L, 1287L, 1493L, 1075L, 
    1073L, 1074L, 1355L, 1090L, 1154L, 1357L, 1085L, 1087L, 1218L, 
    1504L, 1217L, 1174L, 1269L, 1270L, 1120L, 1272L, 1015L, 1018L, 
    946L, 1145L, 1397L, 971L, 1083L, 1284L, 1045L, 1048L, 1360L, 
    1361L, 1149L, 1282L, 1235L, 1236L, 1172L, 1367L, 1368L, 1345L, 
    964L, 976L, 1189L, 1281L, 1280L, 1279L, 1330L, 1328L, 1329L, 
    1157L, 1271L, 1324L, 1325L, 1081L, 1398L, 1391L, 1393L, 1405L, 
    1420L, 1104L, 1168L, 1201L, 1202L, 1338L, 1340L, 1277L, 1283L, 
    945L, 978L, 1422L, 1054L, 1076L, 960L, 1096L, 1091L, 1080L, 
    1169L, 1276L, 1050L, 1084L, 1035L, 1053L, 1095L, 1173L, 1056L, 
    1099L, 1138L, 997L, 1162L, 958L, 947L, 1344L), c(1222L, 1221L, 
    1219L, 1220L), c(1444L, 1446L, 1447L, 1445L, 1450L, 1132L, 
    1131L, 1130L, 1253L, 1462L, 1129L, 1254L, 965L, 966L, 967L, 
    1463L, 1134L, 1485L, 1483L, 1481L, 1482L, 1513L, 1465L, 1464L, 
    1512L, 1255L, 1258L, 1381L, 1318L, 1257L, 1323L, 1027L, 1251L, 
    1252L, 1214L, 1229L, 1256L, 1225L, 1226L, 1349L, 1352L, 1347L, 
    1348L, 1430L, 1428L, 1429L, 1436L, 1439L, 1440L, 952L, 1399L, 
    1389L, 1410L, 1385L, 1380L, 1401L, 1382L, 1366L, 1404L, 1403L, 
    1402L, 1400L, 1259L, 1415L, 1414L, 1413L, 1411L, 1412L, 1036L, 
    1039L, 1387L, 1386L, 1383L, 1379L, 1396L, 1394L, 1395L), 
    c(1322L, 1321L, 1319L, 1320L), c(998L, 1193L, 1072L, 991L, 
    999L, 1261L, 1326L, 1043L, 1037L, 1038L, 1353L, 1260L, 1390L, 
    1437L, 1346L, 1384L, 1408L, 1127L, 1423L, 1147L, 1135L, 1514L
    ), c(579L, 643L, 189L, 192L, 599L, 600L, 591L, 423L, 458L, 
    422L, 654L, 365L, 772L, 833L, 771L, 770L, 837L, 838L, 227L, 
    416L, 706L, 773L, 849L, 542L, 621L, 364L, 845L, 919L, 346L, 
    707L, 659L, 135L, 721L), c(305L, 255L, 795L, 800L, 719L, 
    734L, 794L, 1108L, 1136L, 1118L, 1071L, 1264L, 1203L, 1337L, 
    108L, 1232L, 1362L), c(674L, 796L, 864L, 235L, 724L, 408L, 
    731L, 723L, 722L, 548L, 168L, 797L, 132L, 205L, 649L, 180L, 
    582L, 330L, 157L, 465L, 499L, 536L, 516L, 883L), c(491L, 
    411L, 171L, 172L, 216L, 681L, 682L, 343L, 862L, 896L, 538L, 
    882L, 907L, 468L, 474L, 473L, 472L, 471L, 470L, 475L, 244L, 
    243L, 242L, 257L, 260L, 263L, 262L, 261L, 259L, 258L, 266L, 
    265L, 264L, 267L, 229L, 483L, 893L, 245L, 241L, 299L, 409L, 
    136L, 638L, 588L, 589L, 234L, 232L, 293L, 294L, 251L, 250L, 
    247L, 246L, 286L, 287L, 292L, 291L, 290L, 272L, 233L, 248L, 
    249L, 297L, 303L, 785L, 717L, 894L, 895L, 366L, 367L, 477L, 
    532L, 350L, 370L), c(289L, 288L, 284L, 285L), c(96L, 101L, 
    104L, 107L, 105L, 114L, 121L, 102L, 113L, 115L, 97L, 100L
    ), c(948L, 970L, 1033L, 969L, 996L, 987L, 988L, 995L, 1002L, 
    1034L, 1067L, 1068L, 1013L, 983L, 984L, 1460L, 1442L, 1500L, 
    1484L, 1246L, 1511L, 1461L, 1123L, 1443L, 1388L, 1063L, 1363L, 
    1064L, 1122L, 1359L, 1121L, 1231L, 1244L, 1245L, 1066L, 1065L, 
    1441L), c(295L, 438L, 753L, 782L, 219L, 228L, 714L, 369L, 
    553L, 393L, 713L, 683L, 784L, 492L, 715L, 482L, 541L, 592L, 
    451L, 627L, 187L, 193L, 804L, 623L, 646L, 514L, 515L, 522L, 
    512L, 523L, 545L, 218L, 535L, 537L, 540L), 16L, c(15L, 18L
    ), 1L, c(7L, 9L), 6L, 14L, 4L, 5L, 3L, 11L, 17L, 8L, 10L)

我想从每次迭代的每个列表条目中采样一个值,以便创建一个大的样本矩阵,这意味着我将有 40 列(组的数量)和 5000 行(组的数量)采样次数)

我尝试了以下方法:

# groups - is the list
# repetition - is 5000
as.matrix(sapply(groups, sample, repetition, TRUE))

这似乎适用于小列表,但是当我尝试在大列表上时,我从其他组中获取了不应该出现的元素:

使用上面代码的示例:

enter image description here

最佳答案

当向量长度为​​ 1 时,采样从 1:x 开始。来自?样本:

If x has length 1, is numeric (in the sense of is.numeric) and x >= 1, sampling via sample takes place from 1:x

所以当你这样做时

set.seed(123)
sample(10, 1)
#[1] 3

它从 1 到 10 中选择 1 个数字。为了避免这种情况发生,您可以在 sapply 中检查向量的长度:

sapply(groups, function(x) if(length(x) == 1) rep(x, repetition) 
                           else sample(x, repetition, replace = TRUE))

因此,当向量长度为​​ 1 时,这将返回相同的重复次数。

关于r - 对向量列表中的单个值进行多次采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65388909/

相关文章:

r - 使用 R 中的行名称合并列表的向量

r - 理解 R 中的 Pretty()

python - 打印在 python 列表中找到的字符的两次出现

python - 将列表分成行(从列表创建嵌套列表)

python - 从 2D python 列表中提取唯一元素并将它们放入新的 2D 列表中

python - 如何转置 3D 矩阵?

python - 在 Numpy 中创建 "3D identity matrix"的最佳方法是什么?

r - 如何将 survfit 输出导出为 .csv 表?

R 编程帮助编写函数

algorithm - 自动对齐表格中的元素