Em vez de apenas copiar o vetor labels
já pronto, seria conveniente ensinar a criar esse vetor usando o próprio R. Assim, segue minha sugestão do passo a passo:
A primeira etapa é determinar a amplitude de cada intervalo. Isso é feito dividindo a diferença entre o valor máximo e mínimo da variável Renda
pelo número de classes, armazenado na variável k
.
k <- round(1 + (10 / 3) * log10(nrow(dados)))
amplitude_intervalo <- (max(dados$Renda) - min(dados$Renda)) / k
Após isso, calculamos os valores mínimos de cada intervalo. Começamos com o valor mínimo da variável Renda
e, em seguida, adicionamos múltiplos da amplitude do intervalo até chegarmos ao valor máximo.
valores_min <- min(dados$Renda) + (0:(k-1)) * amplitude_intervalo
Por fim, calculamos os valores máximos de cada intervalo somando a amplitude do intervalo aos valores mínimos.
valores_max <- valores_min + amplitude_intervalo
Para criar rótulos descritivos para cada intervalo, usamos a função paste()
para combinar os valores mínimos e máximos dos intervalos, separados por um traço.
labels <- paste(round(valores_min, 2), '-', round(valores_max, 2))
labels
Assim, obtemos o output:
> labels
[1] "0 - 11764.71" "11764.71 - 23529.41"
[3] "23529.41 - 35294.12" "35294.12 - 47058.82"
[5] "47058.82 - 58823.53" "58823.53 - 70588.24"
[7] "70588.24 - 82352.94" "82352.94 - 94117.65"
[9] "94117.65 - 105882.35" "105882.35 - 117647.06"
[11] "117647.06 - 129411.76" "129411.76 - 141176.47"
[13] "141176.47 - 152941.18" "152941.18 - 164705.88"
[15] "164705.88 - 176470.59" "176470.59 - 188235.29"
[17] "188235.29 - 2e+05"