# substring() em R: como extrair informações de strings

A função `substring()` do R é ideal para preparar dados para análise, especialmente quando você precisa transformar dados de texto em formatos mais estruturados.

## O que é `substring()` em R?

No R, `substring()` é uma função incorporada que permite selecionar subcadeias de uma cadeia maior, especificando com precisão o índice inicial e final para isolar a parte desejada da cadeia. `substring()` é uma função do R usada para uma grande variedade de aplicações, desde limpar dados até extrair informações específicas de dados de texto não estruturados. Por exemplo, pode utilizar a função `substring()` no R para obter códigos postais de endereços completos ou extrair datas de marcas de tempo.

A flexibilidade do `substring()` em R torna-o essencial em situações que exigem um **controlo preciso sobre a posição e o comprimento** da subcadeia selecionada. Também é comum usá-lo na análise de dados e para preparar dados de texto para processamentos mais avançados, estruturando os dados adequadamente.

## A sintaxe da função `substring()` em R

A função `substring()` em R permite **extrair uma subcadeia** de uma cadeia maior. Ela aceita os seguintes parâmetros:

```R
substring(x, first, last)
```

- **`x`**: é a cadeia da qual pretende extrair a subcadeia.
- **`first`**: é o índice do primeiro caractere na cadeia que pretende extrair.
- **`last`**: é o índice do último caractere na subcadeia que pretende extrair.

Aqui está um exemplo concreto:

```R
original_string <- "data analysis"
result <- substring(original_string, 1, 4)
print(result)
# Output: data
```

Seleciona o substrings do índice 1 até o índice 4 na string `"data analysis"`. É armazenado na variável `result`. A saída é `"data"`.

## Aplicação prática de `substring()` em R

Ao **editar conjuntos de dados**, muitas vezes é necessário selecionar, manipular ou eliminar partes específicas de cadeias de caracteres. A função `substring()` no R permite fazer isso de várias maneiras.

### Extrair caracteres com `substring()`

Você pode armazenar os índices em variáveis e passá-los como parâmetros para a função `substring()` no R.

```R
# Original string
original_string <- "Data Science"
# Indices for extraction
start_index <- 6
end_index <- 12
# Using substring() for extraction
extracted_substring <- substring(original_string, start_index, end_index)
print(extracted_substring)
# Output: Science
```

Este exemplo utiliza a função `substring()` em R para selecionar uma subcadeia da posição 6 à 12 da string original `"Data Science"`. Define as variáveis `start_index` como índice inicial e `end_index` como índice final para a extração. O resultado obtido do programa mostra a subcadeia extraída, que neste caso é `"Science"`. O valor do índice final de 12 está incluído, pelo que o caractere que se encontra na posição 12 também pode ser encontrado na subcadeia extraída.

### Manipular strings com a função `substring()` em R

Crie uma estrutura de dados `df` que contenha IDs, idades e ocupações. Utilize a função `substring()` no R para inserir um espaço na segunda posição de cada cadeia na coluna `"ID"`.

```R
# Creating a sample data frame
df <- data.frame(
    ID = c("01235", "02345", "04531"),
    Age = c(25, 30, 22),
    Occupation = c("Engineer", "Doctor", "Teacher")
)
# Inserting a space at the second position in the "ID" column
df$ID <- paste(substring(df$ID, 1, 1), " ", substring(df$ID, 2))
# Displaying the modified data frame
print("Modified Data Frame:")
print(df)
```

Este exemplo utiliza a função `substring()` do R para extrair o primeiro dígito de cada número (`substring(df$ID, 1, 1`) e o restante da sequência numérica a partir da segunda posição (`substring(df$ID, 2)`). Em seguida, insere um espaço entre os dois segmentos com a função [paste do R](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/r-pasta/). O resultado modificado aparece na coluna `ID` do quadro de dados.

Resultado:

```R
Modified Data Frame:
    ID           Age  Occupation
1  0 1235  25     Engineer
2  0 2345  30     Doctor
3  0 4531  22     Teacher
```

Dica Recomendamos o tutorial sobre as funções gsub e sub no R do nosso Guia Digital para trabalhar com strings.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/r-substring/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/r-substring/) for AI/LLM consumption.