# substring() en R: cómo extraer información de strings

La función `substring()` de R es ideal para preparar datos para análisis, especialmente cuando necesitas transformar datos de texto en formatos más estructurados.

## ¿Qué es `substring()` en R?

En R, `substring()` es una función incorporada que te permite seleccionar subcadenas de una cadena más grande especificando con precisión el índice de inicio y fin para aislar la parte deseada de la cadena. `substring()` es una función de R que se utiliza para gran variedad de aplicaciones, desde limpiar datos hasta extraer información específica de datos de texto no estructurados. Por ejemplo, puedes utilizar la función `substring()` en R para obtener códigos postales de direcciones completas o extraer fechas de marcas de tiempo.

La flexibilidad de `substring()` en R la hace esencial en situaciones que requieren un **control preciso sobre la posición y longitud** de la subcadena seleccionada. También es común usarla en análisis de datos y para preparar datos de texto para procesamientos más avanzados, estructurando los datos adecuadamente.

## La sintaxis de la función `substring()` en R

La función `substring()` en R permite **extraer una subcadena** de una cadena mayor. Admite los siguientes parámetros:

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

- **`x`**: es la cadena de la que quieres extraer la subcadena.
- **`first`**: es el índice del primer carácter en la cadena que quieres extraer.
- **`last`**: es el índice del último carácter en la subcadena que quieres extraer.

Aquí tienes un ejemplo concreto:

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

Selecciona la subcadena desde el índice 1 hasta el índice 4 en la cadena `"data analysis"` . Se almacena en la variable `result`. La salida es `"data"`.

## Aplicación práctica de `substring()` en R

Cuando **editas conjuntos de datos**, a menudo necesitas seleccionar, manipular o eliminar partes específicas de cadenas de caracteres. La función `substring()` en R te permite hacerlo de diversas maneras.

### Extraer caracteres con `substring()`

Puedes almacenar los índices en variables y pasarlos como parámetros a la función `substring()` en 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 ejemplo utiliza la función `substring()` en R para seleccionar una subcadena de la posición 6 a la 12 del string original `"Data Science"`. Define las variables `start_index` como índice inicial y `end_index` como índice final para la extracción. El resultado obtenido del programa muestra la subcadena extraída, que en este caso es `"Science"`. El valor del índice final de 12 está incluido, por lo que el carácter que se encuentra en la posición 12 también se puede encontrar en la subcadena extraída.

### Manipular strings con la función `substring()` en R

Crea un marco de datos `df` que contiene ID, edades y ocupaciones. Utiliza la función `substring()` en R para insertar un espacio en la segunda posición de cada cadena en la columna `"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 ejemplo utiliza la función `substring()` de R para extraer el primer dígito de cada número (`substring(df$ID, 1, 1`) y el resto de la secuencia numérica a partir de la segunda posición (`substring(df$ID, 2)`). A continuación, inserta un espacio entre ambos segmentos con la función [paste de R](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/r-paste/). El resultado modificado aparece en la columna `ID` del marco de datos.

Resultado:

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

Consejo Te recomendamos el tutorial sobre las funciones [gsub y sub en R](https://www.ionos.mx/digitalguide/paginas-web/desarrollo-web/sub-y-gsub-en-r/) de nuestra Digital Guide para trabajar con strings.


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