Abaixo está o código para estimar a associação de grupo de cada elemento de um grande vetor
Interval = data.frame(lowerLimit = c(0, c(13.31, 14.1, 14.52, 15.9, 17.88, 20.85, 22.14, 22.6, 23.49,
24.31, 26.54, 27.29, 32.41, 33.49, 35.08, 38.25, 41.84, 46, 47.35,
47.85, 48.13, 48.25, 48.8, 50.83, 51.55, 53.22, 54.21, 55.94,
56.31, 58.09, 58.35, 59.92, 60.78, 64.9, 68.7, 72.79, 77.27,
78.38, 79.04, 80.61, 85.52, 86.25, 86.63, 88.05, 90.07, 90.25,
95.13, 96.88, 98.47, 99.77)), upperLimit = c(13.31, 14.1, 14.52, 15.9, 17.88, 20.85, 22.14, 22.6, 23.49,
24.31, 26.54, 27.29, 32.41, 33.49, 35.08, 38.25, 41.84, 46, 47.35,
47.85, 48.13, 48.25, 48.8, 50.83, 51.55, 53.22, 54.21, 55.94,
56.31, 58.09, 58.35, 59.92, 60.78, 64.9, 68.7, 72.79, 77.27,
78.38, 79.04, 80.61, 85.52, 86.25, 86.63, 88.05, 90.07, 90.25,
95.13, 96.88, 98.47, 99.77, 100))
set.seed(1)
Num = runif(100000, 0, 100)
sapply(Num, function(i) which(Interval$lowerLimit <= i & Interval$upperLimit > i))
Embora o código acima possa estimar a associação de grupo para cada elemento de Num
, gostaria de saber se existe algum método mais eficiente e rápido disponível. Para vetores grandes, este código está demorando muito.
Muito obrigado pela sua sugestão.