# O que é e como usar a função R predict()?

Com a função `predict()` em R, você consegue fazer previsões de dados novos e inéditos, de maneira simples e eficiente. Essa é uma ferramenta de fundamental importância para o aprendizado de máquina (*machine learning*), sendo amplamente utilizada em análises estatísticas e modelagem preditiva.

## Para que usar a função R predict()?

A função R `predict()` é uma ferramenta versátil usada em modelos preditivos. Ela gera **previsões para pontos de dados novos ou existentes** baseadas em modelos estatísticos desenvolvidos anteriormente, como regressão linear, regressão lógica, árvore de decisão e outras técnicas de modelagem. Sua aplicação se estende tanto a análises exploratórias quanto ao desenvolvimento de algoritmos de previsão mais complexos, tornando-se essencial em diversos contextos.

## Sintaxe da função predict() em R

A função R `predict()` considera como argumentos **um modelo treinado e os pontos de dados** aos quais a previsão será aplicada. Você também pode especificar opções e parâmetros diferentes baseados no tipo de modelo usado. O resultado é um vetor de previsões útil para diversos fins analíticos, incluindo avaliações de desempenho de modelos, tomadas de decisão ou ilustrações dos dados resultantes.

```R
predict(objeto, dados, intervalo)
```

- **`objeto`**: O modelo treinado ao qual as previsões serão aplicadas.
- **`dados`**: Os pontos de dados para a previsão.
- **`intervalo`**: Argumento opcional. Serve para inserir o tipo de intervalo de confiança (`confidence` para intervalo médio, `prediction` para previsões).

## Exemplos de aplicação da função R predict()

O exemplo a seguir ilustra como aplicar a função `predict()` em R. Usaremos um conjunto de dados definido pelo usuário com valores de velocidade e distância.

### Criar e exibir dados

```R
# Criação de data frame com valores personalizados de velocidade e distância
dados_personalizados <- data.frame(velocidade = c(15, 20, 25, 30, 35),
    distancia = c(30, 40, 50, 60, 70))
# Exibição do data frame personalizado
print("Data frame personalizado:")
print(dados_personalizados)
```

Primeiro, criamos um **conjunto de dados definido pelo usuário** para avaliar a relação entre velocidade e distância. Usamos a função `data.frame()` para criar um data frame e definir os valores das variáveis `velocidade` e `distância` como `c(15, 20, 25, 30, 35)` e `c(30, 40, 50, 60, 70)`, respectivamente.

Após criarmos o conjunto de dados, nós o exibimos usando a função `print()`. Assim, conseguimos verificar a estrutura e os valores designados ao nosso novo data frame. Veja:

O resultado obtido é:

```R
"Data frame personalizado:"
    velocidade distancia
1        15            30
2        20             40
3        25             50
4        30             60
5        35             70
```

### Criar modelo linear

```R
# Criação de modelo linear para o data frame personalizado
modelo_personalizado <- lm(distancia ~ velocidade, data = dados_personalizados)
# Apresentação dos resultados do modelo
print("Resultados do modelo:")
print(summary(modelo_personalizado))
```

Resultado:

```R
"Resultados do modelo:"
Call:
lm(formula = distancia ~ velocidade, data = dados_personalizados)
Residuals:
     1        2        3        4        5
    -2     -1        1        0        2
Coefficients:
(Intercept)     -10.00    15.81    -0.632    0.55897
velocidade         2.00        0.47            4.254    0.01205
```

No exemplo acima você pode observar um modelo linear (`modelo_personalizado`) que foi gerado para o conjunto de dados e que ilustra a relação entre velocidade e distância. O resultado do modelo inclui coeficientes e informações estatísticas.

### Definir novos valores de velocidade e fazer previsões

```R
# Criação de um data frame com novos valores de velocidade
novos_valores_velocidade <- data.frame(velocidade = c(40, 45, 50, 55, 60))
# Previsão dos valores de distância futuros usando o modelo linear
distancia_prevista <- predict(modelo_personalizado, newdata = novos_valores_velocidade)
```

Criamos outro conjunto de dados (`novos_valores_velocidade`) com novos valores de velocidade. Usamos a função R `predict()` para fazer previsões dos valores de distância correspondentes usando o modelo linear criado anteriormente.

### Exibir previsões

```R
# Exibição dos valores previstos
print("Valores de distância previstos:")
print(distancia_prevista)
```

O resultado exibe os valores de distância previstos com base nos valores de velocidade:

```R
"Valores de distância previstos:"
               1                2                  3                 4                   5
 80.0000     90.0000    100.0000  110.0000     120.0000
```

Dica Se quiser aprender a processar strings para manipular textos e limpar dados na linguagem R, confira os nossos tutoriais sobre [gsub e sub em R](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/r-sub-e-r-gsub/) e [substrings em R](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/r-substring/).


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/r-predict/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/r-predict/) for AI/LLM consumption.