У меня есть данные, которые выглядят так:
HRB.Close BXP.Close PSX.Close PG.Close IPGP.Close
2019-10-04 1 0 0 2 2
2019-10-07 0 0 0 3 0
2019-10-08 1 1 0 3 0
2019-10-09 0 2 0 0 0
2019-10-10 0 0 1 1 0
2019-10-11 1 1 0 2 1
2019-10-14 2 0 0 0 2
2019-10-15 3 1 1 1 0
Я хочу разбить данные так, чтобы для каждого столбца выполнялось условие. То есть данные должны быть больше или равны 3 для каждого столбца. Я могу использовать следующее:
apply(data, 2, function(x) subset(x, x >= 3))
Что создает списки, однако было бы неплохо сохранить структуру xts
и заменить все остальные значения как NA
.
Используя приведенный выше пример, ожидаемый результат может быть таким:
HRB.Close BXP.Close PSX.Close PG.Close IPGP.Close
2019-10-04 NA NA NA NA NA
2019-10-07 NA NA NA 3 NA
2019-10-08 NA NA NA 3 NA
2019-10-09 NA NA NA NA NA
2019-10-10 NA NA NA NA NA
2019-10-11 NA NA NA NA NA
2019-10-14 NA NA NA NA NA
2019-10-15 3 NA NA NA NA
Данные:
structure(c(1, 0, 1, 0, 0, 1, 2, 3, 0, 0, 1, 0, 0, 0, 0, 0, 1,
2, 0, 1, 2, 3, 0, 0, 0, 1, 0, 1, 2, 0, 0, 1, 2, 3, 4, 0, 1, 0,
0, 0, 1, 2, 0, 1, 0, 1, 0, 1, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1,
0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 2, 3, 0, 1, 0, 0, 0, 0,
1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
1, 0, 0, 1, 2, 0, 0, 1, 0, 1, 2, 0, 1, 2, 3, 3, 0, 1, 2, 0, 1,
2, 3, 4, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 2, 3, 4, 0, 1, 0,
1, 2, 0, 1, 0, 0, 1, 0, 1, 2, 0, 0, 0, 0, 1, 2, 0, 0, 0, 1, 0,
1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6,
7, 0, 1, 0, 1), index = structure(c(1570147200, 1570406400, 1570492800,
1570579200, 1570665600, 1570752000, 1571011200, 1571097600, 1571184000,
1571270400, 1571356800, 1571616000, 1571702400, 1571788800, 1571875200,
1571961600, 1572220800, 1572307200, 1572393600, 1572480000, 1572566400,
1572825600, 1572912000, 1572998400, 1573084800, 1573171200, 1573430400,
1573516800, 1573603200, 1573689600, 1573776000, 1574035200, 1574121600,
1574208000, 1574294400, 1574380800, 1574640000, 1574726400), tzone = "UTC", tclass = "Date"), class = c("xts",
"zoo"), src = "yahoo", updated = structure(1590602146.49865, class = c("POSIXct",
"POSIXt")), na.action = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L,
21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
34L, 35L, 36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L,
60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L,
73L, 74L, 75L, 76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L,
86L, 87L, 88L, 89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L,
99L, 100L, 101L, 102L, 103L, 104L, 105L, 106L, 107L, 108L, 109L,
110L, 111L, 112L, 113L, 114L, 115L, 116L, 117L, 118L, 119L, 120L,
121L, 122L, 123L, 124L, 125L, 126L, 127L, 128L, 129L, 130L, 131L,
132L, 133L, 134L, 135L, 136L, 137L, 138L, 139L, 140L, 141L, 142L,
143L, 144L, 145L, 146L, 147L, 148L, 149L, 150L, 151L, 152L, 153L,
154L, 155L, 156L, 157L, 158L, 159L, 160L, 161L, 162L, 163L, 164L,
165L, 166L, 167L, 168L, 169L, 170L, 171L, 172L, 173L, 174L, 175L,
176L, 177L, 178L, 179L, 180L, 181L, 182L, 183L, 184L, 185L, 186L,
187L, 188L, 189L, 190L, 191L, 192L, 193L, 194L, 195L, 196L, 197L,
198L, 199L, 200L, 201L, 202L, 203L, 204L, 205L, 206L, 207L, 208L,
209L, 210L, 211L, 212L, 213L, 214L, 215L, 216L, 217L, 218L, 219L,
220L, 221L, 222L, 223L, 224L, 225L, 226L, 227L, 228L, 229L, 230L,
231L, 232L, 233L, 234L, 235L, 236L, 237L, 238L, 239L, 240L, 241L,
242L, 243L, 244L, 245L, 246L, 247L, 248L, 249L, 250L, 251L, 252L,
253L, 254L, 255L, 256L, 257L, 258L, 259L, 260L, 261L, 262L, 263L,
264L, 265L, 266L, 267L, 268L, 269L, 270L, 271L, 272L, 273L, 274L,
275L, 276L, 277L, 278L, 279L, 280L, 281L, 282L, 283L, 284L, 285L,
286L, 287L, 288L, 289L, 290L, 291L, 292L, 293L, 294L, 295L, 296L,
297L, 298L, 299L, 300L, 301L, 302L, 303L, 304L, 305L, 306L, 307L,
308L, 309L, 310L, 311L, 312L, 313L, 314L, 315L, 316L, 317L, 318L,
319L, 320L, 321L, 322L, 323L, 324L, 325L, 326L, 327L, 328L, 329L,
330L, 331L, 332L, 333L, 334L, 335L, 336L, 337L, 338L, 339L, 340L,
341L, 342L, 343L, 344L, 345L, 346L, 347L, 348L, 349L, 350L, 351L,
352L, 353L, 354L, 355L, 356L, 357L, 358L, 359L, 360L, 361L, 362L,
363L, 364L, 365L, 366L, 367L, 368L, 369L, 370L, 371L, 372L, 373L,
374L, 375L, 376L, 377L, 378L, 379L, 380L, 381L, 382L, 383L, 384L,
385L, 386L, 387L, 388L, 389L, 390L, 391L, 392L, 393L, 394L, 395L,
396L, 397L, 398L, 399L, 400L, 401L, 402L, 403L, 404L, 405L, 406L,
407L, 408L, 409L, 410L, 411L, 412L, 413L, 414L, 415L, 416L, 417L,
418L, 419L, 420L, 421L, 422L, 423L, 424L, 425L, 426L, 427L, 428L,
429L, 430L, 431L, 432L, 433L, 434L, 435L, 436L, 437L, 438L, 439L,
440L, 441L, 442L, 443L, 444L, 445L, 446L, 447L, 448L, 449L, 450L,
451L, 452L, 453L, 454L, 455L, 456L, 457L, 458L, 459L, 460L, 461L,
462L, 463L, 464L, 465L, 466L, 467L, 468L, 469L, 470L, 471L, 472L,
473L, 474L, 475L, 476L, 477L, 478L, 479L, 480L, 481L, 482L, 483L,
484L, 485L, 486L, 487L, 488L, 489L, 490L, 491L, 492L, 493L, 494L,
495L, 496L, 497L, 498L, 499L, 500L, 501L, 502L, 503L, 504L, 505L,
506L, 507L, 508L, 509L, 510L, 511L, 512L, 513L, 514L, 515L, 516L,
517L, 518L, 519L, 520L, 521L, 522L, 523L, 524L, 525L, 526L, 527L,
528L, 529L, 530L, 531L, 532L, 533L, 534L, 535L, 536L, 537L, 538L,
539L, 540L, 541L, 542L, 543L, 544L, 545L, 546L, 547L, 548L, 549L,
550L, 551L, 552L, 553L, 554L, 555L, 556L, 557L, 558L, 559L, 560L,
561L, 562L, 563L, 564L, 565L, 566L, 567L, 568L, 569L, 570L, 571L,
572L, 573L, 574L, 575L, 576L, 577L, 578L, 579L, 580L, 581L, 582L,
583L, 584L, 585L, 586L, 587L, 588L, 589L, 590L, 591L, 592L, 593L,
594L, 595L, 596L, 597L, 598L, 599L, 600L, 601L, 602L, 603L, 604L,
605L, 606L, 607L, 608L, 609L, 610L, 611L, 612L, 613L, 614L, 615L,
616L, 617L, 618L, 619L, 620L, 621L, 622L, 623L, 624L, 625L, 626L,
627L, 628L, 629L, 630L, 631L, 632L, 633L, 634L, 635L, 636L, 637L,
638L, 639L, 640L, 641L, 642L, 643L, 644L, 645L, 646L, 647L, 648L,
649L, 650L, 651L, 652L, 653L, 654L, 655L, 656L, 657L, 658L, 659L,
660L, 661L, 662L, 663L, 664L, 665L, 666L, 667L, 668L, 669L, 670L,
671L, 672L, 673L, 674L, 675L, 676L, 677L, 678L, 679L, 680L, 681L,
682L, 683L, 684L, 685L, 686L, 687L, 688L, 689L, 690L, 691L, 692L,
693L, 732L, 733L, 734L, 735L, 736L, 737L, 738L, 739L, 740L, 741L,
742L, 743L, 744L, 745L, 746L, 747L, 748L, 749L, 750L, 751L, 752L,
753L, 754L), class = "omit", index = c(1483401600, 1483488000,
1483574400, 1483660800, 1483920000, 1484006400, 1484092800, 1484179200,
1484265600, 1484611200, 1484697600, 1484784000, 1484870400, 1485129600,
1485216000, 1485302400, 1485388800, 1485475200, 1485734400, 1485820800,
1485907200, 1485993600, 1486080000, 1486339200, 1486425600, 1486512000,
1486598400, 1486684800, 1486944000, 1487030400, 1487116800, 1487203200,
1487289600, 1487635200, 1487721600, 1487808000, 1487894400, 1488153600,
1488240000, 1488326400, 1488412800, 1488499200, 1488758400, 1488844800,
1488931200, 1489017600, 1489104000, 1489363200, 1489449600, 1489536000,
1489622400, 1489708800, 1489968000, 1490054400, 1490140800, 1490227200,
1490313600, 1490572800, 1490659200, 1490745600, 1490832000, 1490918400,
1491177600, 1491264000, 1491350400, 1491436800, 1491523200, 1491782400,
1491868800, 1491955200, 1492041600, 1492387200, 1492473600, 1492560000,
1492646400, 1492732800, 1492992000, 1493078400, 1493164800, 1493251200,
1493337600, 1493596800, 1493683200, 1493769600, 1493856000, 1493942400,
1494201600, 1494288000, 1494374400, 1494460800, 1494547200, 1494806400,
1494892800, 1494979200, 1495065600, 1495152000, 1495411200, 1495497600,
1495584000, 1495670400, 1495756800, 1496102400, 1496188800, 1496275200,
1496361600, 1496620800, 1496707200, 1496793600, 1496880000, 1496966400,
1497225600, 1497312000, 1497398400, 1497484800, 1497571200, 1497830400,
1497916800, 1498003200, 1498089600, 1498176000, 1498435200, 1498521600,
1498608000, 1498694400, 1498780800, 1499040000, 1499212800, 1499299200,
1499385600, 1499644800, 1499731200, 1499817600, 1499904000, 1499990400,
1500249600, 1500336000, 1500422400, 1500508800, 1500595200, 1500854400,
1500940800, 1501027200, 1501113600, 1501200000, 1501459200, 1501545600,
1501632000, 1501718400, 1501804800, 1502064000, 1502150400, 1502236800,
1502323200, 1502409600, 1502668800, 1502755200, 1502841600, 1502928000,
1503014400, 1503273600, 1503360000, 1503446400, 1503532800, 1503619200,
1503878400, 1503964800, 1504051200, 1504137600, 1504224000, 1504569600,
1504656000, 1504742400, 1504828800, 1505088000, 1505174400, 1505260800,
1505347200, 1505433600, 1505692800, 1505779200, 1505865600, 1505952000,
1506038400, 1506297600, 1506384000, 1506470400, 1506556800, 1506643200,
1506902400, 1506988800, 1507075200, 1507161600, 1507248000, 1507507200,
1507593600, 1507680000, 1507766400, 1507852800, 1508112000, 1508198400,
1508284800, 1508371200, 1508457600, 1508716800, 1508803200, 1508889600,
1508976000, 1509062400, 1509321600, 1509408000, 1509494400, 1509580800,
1509667200, 1509926400, 1510012800, 1510099200, 1510185600, 1510272000,
1510531200, 1510617600, 1510704000, 1510790400, 1510876800, 1511136000,
1511222400, 1511308800, 1511481600, 1511740800, 1511827200, 1511913600,
1512000000, 1512086400, 1512345600, 1512432000, 1512518400, 1512604800,
1512691200, 1512950400, 1513036800, 1513123200, 1513209600, 1513296000,
1513555200, 1513641600, 1513728000, 1513814400, 1513900800, 1514246400,
1514332800, 1514419200, 1514505600, 1514851200, 1514937600, 1515024000,
1515110400, 1515369600, 1515456000, 1515542400, 1515628800, 1515715200,
1516060800, 1516147200, 1516233600, 1516320000, 1516579200, 1516665600,
1516752000, 1516838400, 1516924800, 1517184000, 1517270400, 1517356800,
1517443200, 1517529600, 1517788800, 1517875200, 1517961600, 1518048000,
1518134400, 1518393600, 1518480000, 1518566400, 1518652800, 1518739200,
1519084800, 1519171200, 1519257600, 1519344000, 1519603200, 1519689600,
1519776000, 1519862400, 1519948800, 1520208000, 1520294400, 1520380800,
1520467200, 1520553600, 1520812800, 1520899200, 1520985600, 1521072000,
1521158400, 1521417600, 1521504000, 1521590400, 1521676800, 1521763200,
1522022400, 1522108800, 1522195200, 1522281600, 1522627200, 1522713600,
1522800000, 1522886400, 1522972800, 1523232000, 1523318400, 1523404800,
1523491200, 1523577600, 1523836800, 1523923200, 1524009600, 1524096000,
1524182400, 1524441600, 1524528000, 1524614400, 1524700800, 1524787200,
1525046400, 1525132800, 1525219200, 1525305600, 1525392000, 1525651200,
1525737600, 1525824000, 1525910400, 1525996800, 1526256000, 1526342400,
1526428800, 1526515200, 1526601600, 1526860800, 1526947200, 1527033600,
1527120000, 1527206400, 1527552000, 1527638400, 1527724800, 1527811200,
1528070400, 1528156800, 1528243200, 1528329600, 1528416000, 1528675200,
1528761600, 1528848000, 1528934400, 1529020800, 1529280000, 1529366400,
1529452800, 1529539200, 1529625600, 1529884800, 1529971200, 1530057600,
1530144000, 1530230400, 1530489600, 1530576000, 1530748800, 1530835200,
1531094400, 1531180800, 1531267200, 1531353600, 1531440000, 1531699200,
1531785600, 1531872000, 1531958400, 1532044800, 1532304000, 1532390400,
1532476800, 1532563200, 1532649600, 1532908800, 1532995200, 1533081600,
1533168000, 1533254400, 1533513600, 1533600000, 1533686400, 1533772800,
1533859200, 1534118400, 1534204800, 1534291200, 1534377600, 1534464000,
1534723200, 1534809600, 1534896000, 1534982400, 1535068800, 1535328000,
1535414400, 1535500800, 1535587200, 1535673600, 1536019200, 1536105600,
1536192000, 1536278400, 1536537600, 1536624000, 1536710400, 1536796800,
1536883200, 1537142400, 1537228800, 1537315200, 1537401600, 1537488000,
1537747200, 1537833600, 1537920000, 1538006400, 1538092800, 1538352000,
1538438400, 1538524800, 1538611200, 1538697600, 1538956800, 1539043200,
1539129600, 1539216000, 1539302400, 1539561600, 1539648000, 1539734400,
1539820800, 1539907200, 1540166400, 1540252800, 1540339200, 1540425600,
1540512000, 1540771200, 1540857600, 1540944000, 1541030400, 1541116800,
1541376000, 1541462400, 1541548800, 1541635200, 1541721600, 1541980800,
1542067200, 1542153600, 1542240000, 1542326400, 1542585600, 1542672000,
1542758400, 1542931200, 1543190400, 1543276800, 1543363200, 1543449600,
1543536000, 1543795200, 1543881600, 1544054400, 1544140800, 1544400000,
1544486400, 1544572800, 1544659200, 1544745600, 1545004800, 1545091200,
1545177600, 1545264000, 1545350400, 1545609600, 1545782400, 1545868800,
1545955200, 1546214400, 1546387200, 1546473600, 1546560000, 1546819200,
1546905600, 1546992000, 1547078400, 1547164800, 1547424000, 1547510400,
1547596800, 1547683200, 1547769600, 1548115200, 1548201600, 1548288000,
1548374400, 1548633600, 1548720000, 1548806400, 1548892800, 1548979200,
1549238400, 1549324800, 1549411200, 1549497600, 1549584000, 1549843200,
1549929600, 1550016000, 1550102400, 1550188800, 1550534400, 1550620800,
1550707200, 1550793600, 1551052800, 1551139200, 1551225600, 1551312000,
1551398400, 1551657600, 1551744000, 1551830400, 1551916800, 1552003200,
1552262400, 1552348800, 1552435200, 1552521600, 1552608000, 1552867200,
1552953600, 1553040000, 1553126400, 1553212800, 1553472000, 1553558400,
1553644800, 1553731200, 1553817600, 1554076800, 1554163200, 1554249600,
1554336000, 1554422400, 1554681600, 1554768000, 1554854400, 1554940800,
1555027200, 1555286400, 1555372800, 1555459200, 1555545600, 1555891200,
1555977600, 1556064000, 1556150400, 1556236800, 1556496000, 1556582400,
1556668800, 1556755200, 1556841600, 1557100800, 1557187200, 1557273600,
1557360000, 1557446400, 1557705600, 1557792000, 1557878400, 1557964800,
1558051200, 1558310400, 1558396800, 1558483200, 1558569600, 1558656000,
1559001600, 1559088000, 1559174400, 1559260800, 1559520000, 1559606400,
1559692800, 1559779200, 1559865600, 1560124800, 1560211200, 1560297600,
1560384000, 1560470400, 1560729600, 1560816000, 1560902400, 1560988800,
1561075200, 1561334400, 1561420800, 1561507200, 1561593600, 1561680000,
1561939200, 1562025600, 1562112000, 1562284800, 1562544000, 1562630400,
1562716800, 1562803200, 1562889600, 1563148800, 1563235200, 1563321600,
1563408000, 1563494400, 1563753600, 1563840000, 1563926400, 1564012800,
1564099200, 1564358400, 1564444800, 1564531200, 1564617600, 1564704000,
1564963200, 1565049600, 1565136000, 1565222400, 1565308800, 1565568000,
1565654400, 1565740800, 1565827200, 1565913600, 1566172800, 1566259200,
1566345600, 1566432000, 1566518400, 1566777600, 1566864000, 1566950400,
1567036800, 1567123200, 1567468800, 1567555200, 1567641600, 1567728000,
1567987200, 1568073600, 1568160000, 1568246400, 1568332800, 1568592000,
1568678400, 1568764800, 1568851200, 1568937600, 1569196800, 1569283200,
1569369600, 1569456000, 1569542400, 1569801600, 1569888000, 1569974400,
1570060800, 1574812800, 1574985600, 1575244800, 1575331200, 1575417600,
1575504000, 1575590400, 1575849600, 1575936000, 1576022400, 1576108800,
1576195200, 1576454400, 1576540800, 1576627200, 1576713600, 1576800000,
1577059200, 1577145600, 1577318400, 1577404800, 1577664000, 1577750400
)), .Dim = c(38L, 5L), .Dimnames = list(NULL, c("HRB.Close",
"BXP.Close", "PSX.Close", "PG.Close", "IPGP.Close")))