Processing math: 100%

Licença

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

License: CC BY-SA 4.0
License: CC BY-SA 4.0

Citação

Sugestão de citação: FIGUEIREDO, Adriano Marcos Rodrigues. Dica de uso da função findInterval(). Campo Grande-MS,Brasil: RStudio/Rpubs, 2023. Disponível em http://rpubs.com/amrofi/dica_findInterval.

1 Introdução

Esta função findInterval() retorna os índices ou a posição do índice de um número x em um determinado vetor vec.

É uma função nativa do R. Segue o exemplo.

2 Exemplo

Neste caso, seja a série x sequencial de 2 a 18. Estabelecemos um intervalo para 5x<10 e outro para 10x<15.

Portanto, a função retornará uma classe 0 para x < 5, o valor 1 para entre 5 e 10, a classe 2 para entre 10 e 15, e classe 3 para acima de 15. Atentar para os intervalos aberto e fechado [5,10) e [10,15).

x <- 2:18
v <- c(5, 10, 15)  # create two bins [5,10) and [10,15)
cbind(x, findInterval(x, v))
       x  
 [1,]  2 0
 [2,]  3 0
 [3,]  4 0
 [4,]  5 1
 [5,]  6 1
 [6,]  7 1
 [7,]  8 1
 [8,]  9 1
 [9,] 10 2
[10,] 11 2
[11,] 12 2
[12,] 13 2
[13,] 14 2
[14,] 15 3
[15,] 16 3
[16,] 17 3
[17,] 18 3

Agora vou adicionar 1 para que as classes sejam numeradas a partir de 1 e classe fator.

x <- 2:18
v <- c(5, 10, 15)  # create two bins [5,10) and [10,15)
dados <- cbind(x, classe = factor(1 + findInterval(x, v)))
dados
       x classe
 [1,]  2      1
 [2,]  3      1
 [3,]  4      1
 [4,]  5      2
 [5,]  6      2
 [6,]  7      2
 [7,]  8      2
 [8,]  9      2
 [9,] 10      3
[10,] 11      3
[11,] 12      3
[12,] 13      3
[13,] 14      3
[14,] 15      4
[15,] 16      4
[16,] 17      4
[17,] 18      4

Referências

Allaire, JJ, Yihui Xie, Christophe Dervieux, Jonathan McPherson, Javier Luraschi, Kevin Ushey, Aron Atkins, et al. 2023. Rmarkdown: Dynamic Documents for r.
Barnier, Julien. 2022. Rmdformats: HTML Output Formats and Templates for Rmarkdown Documents. https://github.com/juba/rmdformats.
R Core Team. 2023. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.
Xie, Yihui. 2014. “Knitr: A Comprehensive Tool for Reproducible Research in R.” In Implementing Reproducible Computational Research, edited by Victoria Stodden, Friedrich Leisch, and Roger D. Peng. Chapman; Hall/CRC.
———. 2015. Dynamic Documents with R and Knitr. 2nd ed. Boca Raton, Florida: Chapman; Hall/CRC. https://yihui.org/knitr/.
———. 2016. Bookdown: Authoring Books and Technical Documents with R Markdown. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/bookdown.
———. 2022. Bookdown: Authoring Books and Technical Documents with r Markdown. https://CRAN.R-project.org/package=bookdown.
———. 2023. Knitr: A General-Purpose Package for Dynamic Report Generation in r. https://yihui.org/knitr/.
Xie, Yihui, J. J. Allaire, and Garrett Grolemund. 2018. R Markdown: The Definitive Guide. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown.
Xie, Yihui, Christophe Dervieux, and Emily Riederer. 2020. R Markdown Cookbook. Boca Raton, Florida: Chapman; Hall/CRC. https://bookdown.org/yihui/rmarkdown-cookbook.
LS0tDQp0aXRsZTogIkRpY2EgZGUgdXNvIGRhIGZ1bsOnw6NvIGZpbmRJbnRlcnZhbCgpIg0KYXV0aG9yOiAiQWRyaWFubyBNYXJjb3MgUm9kcmlndWVzIEZpZ3VlaXJlZG8sICplLW1haWw6IGFkcmlhbm8uZmlndWVpcmVkb0B1Zm1zLmJyKiINCmxpbmtjb2xvcjogYmx1ZQ0KYWJzdHJhY3Q6IA0KICBUaGlzIGlzIGFuIGV4ZXJjaXNlIGZvciBjbGFzcyB1c2UuIA0KZGF0ZTogImByIGZvcm1hdChTeXMuRGF0ZSgpLCAnJWQgJUIgJVknKWAiDQpiaWJsaW9ncmFwaHk6IHBhY2thZ2VzLmJpYg0Kbm9jaXRlOiAnQConDQpvdXRwdXQ6DQogIGh0bWxfZG9jdW1lbnQ6DQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KICAgIHRoZW1lOiBkZWZhdWx0DQogICAgbnVtYmVyX3NlY3Rpb25zOiB0cnVlDQogICAgdG9jOiB5ZXMNCiAgICB0b2NfZmxvYXQ6IG5vDQogICAgZGZfcHJpbnQ6IHBhZ2VkDQogICAgZmlnX2NhcHRpb246IHRydWUNCi0tLQ0KDQpgYGB7ciBrbml0cl9pbml0LCBlY2hvPUZBTFNFLCBjYWNoZT1GQUxTRX0NCmxpYnJhcnkoa25pdHIpDQpsaWJyYXJ5KHJtYXJrZG93bikNCmxpYnJhcnkocm1kZm9ybWF0cykNCg0KIyMgR2xvYmFsIG9wdGlvbnMNCm9wdGlvbnMobWF4LnByaW50PSIxMDAiKQ0Kb3B0c19jaHVuayRzZXQoZWNobz1UUlVFLA0KCSAgICAgICAgICAgICBjYWNoZT1GLA0KICAgICAgICAgICAgICAgcHJvbXB0PUZBTFNFLA0KICAgICAgICAgICAgICAgdGlkeT1UUlVFLA0KICAgICAgICAgICAgICAgY29tbWVudD1OQSwNCiAgICAgICAgICAgICAgIG1lc3NhZ2U9RkFMU0UsDQogICAgICAgICAgICAgICB3YXJuaW5nPUZBTFNFKQ0Kb3B0c19rbml0JHNldCh3aWR0aD0xMDApDQpgYGANCg0KIyBMaWNlbsOnYSB7I0xpY2Vuw6dhIC51bm51bWJlcmVkfQ0KDQpUaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiBUbyB2aWV3IGEgY29weSBvZiB0aGlzIGxpY2Vuc2UsIHZpc2l0IDxodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS80LjAvPiBvciBzZW5kIGEgbGV0dGVyIHRvIENyZWF0aXZlIENvbW1vbnMsIFBPIEJveCAxODY2LCBNb3VudGFpbiBWaWV3LCBDQSA5NDA0MiwgVVNBLg0KDQohW0xpY2Vuc2U6IENDIEJZLVNBIDQuMF0oaHR0cHM6Ly9taXJyb3JzLmNyZWF0aXZlY29tbW9ucy5vcmcvcHJlc3NraXQvYnV0dG9ucy84OHgzMS9wbmcvYnktc2EucG5nKXt3aWR0aD0iMjUlIn0NCg0KIyBDaXRhw6fDo28geyNDaXRhw6fDo28gLnVubnVtYmVyZWR9DQoNClN1Z2VzdMOjbyBkZSBjaXRhw6fDo286IEZJR1VFSVJFRE8sIEFkcmlhbm8gTWFyY29zIFJvZHJpZ3Vlcy4gRGljYSBkZSB1c28gZGEgZnVuw6fDo28gYGZpbmRJbnRlcnZhbCgpYC4gQ2FtcG8gR3JhbmRlLU1TLEJyYXNpbDogUlN0dWRpby9ScHVicywgMjAyMy4gRGlzcG9uw612ZWwgZW0gPGh0dHA6Ly9ycHVicy5jb20vYW1yb2ZpL2RpY2FfZmluZEludGVydmFsPi4NCg0KIyBJbnRyb2R1w6fDo28NCg0KRXN0YSAgZnVuw6fDo28gYGZpbmRJbnRlcnZhbCgpYCByZXRvcm5hIG9zIMOtbmRpY2VzIG91IGEgcG9zacOnw6NvIGRvIMOtbmRpY2UgZGUgdW0gbsO6bWVybyBgeGAgZW0gdW0gZGV0ZXJtaW5hZG8gdmV0b3IgYHZlY2AuDQogICAgIA0Kw4kgdW1hIGZ1bsOnw6NvIG5hdGl2YSBkbyBSLiBTZWd1ZSBvIGV4ZW1wbG8uICAgIA0KDQojIEV4ZW1wbG8NCg0KTmVzdGUgY2Fzbywgc2VqYSBhIHPDqXJpZSB4IHNlcXVlbmNpYWwgZGUgMiBhIDE4LiBFc3RhYmVsZWNlbW9zIHVtIGludGVydmFsbyBwYXJhICQ1IFxsZSB4IFxsdCAxMCQgZSBvdXRybyBwYXJhICQxMCBcbGUgeCBcbHQgMTUkLiAgICANCg0KUG9ydGFudG8sIGEgZnVuw6fDo28gcmV0b3JuYXLDoSB1bWEgY2xhc3NlIDAgcGFyYSB4IDwgNSwgbyB2YWxvciAxIHBhcmEgZW50cmUgNSBlIDEwLCBhIGNsYXNzZSAyIHBhcmEgZW50cmUgMTAgZSAxNSwgZSBjbGFzc2UgMyBwYXJhIGFjaW1hIGRlIDE1LiBBdGVudGFyIHBhcmEgb3MgaW50ZXJ2YWxvcyBhYmVydG8gZSBmZWNoYWRvIFs1LDEwKSBlIFsxMCwxNSkuICANCg0KDQpgYGB7ciBleDF9DQp4IDwtIDI6MTgNCnYgPC0gYyg1LCAxMCwgMTUpICMgY3JlYXRlIHR3byBiaW5zIFs1LDEwKSBhbmQgWzEwLDE1KQ0KY2JpbmQoeCwgZmluZEludGVydmFsKHgsIHYpKQ0KYGBgDQoNCkFnb3JhIHZvdSBhZGljaW9uYXIgMSBwYXJhIHF1ZSBhcyBjbGFzc2VzIHNlamFtIG51bWVyYWRhcyBhIHBhcnRpciBkZSAxIGUgY2xhc3NlIGZhdG9yLg0KDQpgYGB7ciBleDJ9DQp4IDwtIDI6MTgNCnYgPC0gYyg1LCAxMCwgMTUpICMgY3JlYXRlIHR3byBiaW5zIFs1LDEwKSBhbmQgWzEwLDE1KQ0KZGFkb3M8LWNiaW5kKHgsIGNsYXNzZT1mYWN0b3IoMStmaW5kSW50ZXJ2YWwoeCwgdikpKQ0KZGFkb3MNCg0KYGBgDQoNCg0KDQojIFJlZmVyw6puY2lhcyB7I1JlZmVyw6puY2lhcyAudW5udW1iZXJlZH0NCg0KYGBge3IsaW5jbHVkZT1GQUxTRX0NCmtuaXRyOjp3cml0ZV9iaWIoYygucGFja2FnZXMoKSwgImJvb2tkb3duIiksICJwYWNrYWdlcy5iaWIiLCB3aWR0aCA9IDYwKQ0KYGBgDQo=