# Mikä on substring()-funktio R:ssä?

R:n `substring()` on hyödyllinen analysoitavien tietojen valmistelussa. Sitä voidaan käyttää esimerkiksi tekstidatan muuntamiseen paremmin jäsenneltyihin muotoihin.

## Mihin R:n `substring()` -funktiota käytetään?

R: `substring()` on sisäänrakennettu funktio, joka valitsee osan olemassa olevasta merkkijonosta. Sen avulla voidaan määritellä tarkasti alku- ja loppuindeksit, jotta voit eristää tarvitsemasi osan merkkijonosta. Funktiolla on monia käyttötarkoituksia, kuten tietojen puhdistaminen ja tiettyjen tietojen poimiminen jäsentymättömistä tekstitiedoista. Voit käyttää sitä esimerkiksi postinumeroiden poimimiseen osoitteista tai päivämäärien poimimiseen aikaleimoista.

`substring()` on joustava tilanteissa, joissa vaaditaan valittujen osamerkkijonojen **sijainnin ja pituuden** tarkkaa **hallintaa**. Menetelmää käytetään usein data-analyyseissä ja tekstidatan valmistelussa jatkokäsittelyä varten.

## Mikä on R-kielessä `substring()` syntaksi?

`substring()` palauttaa **merkkijonon osan**, joka on erotettu, ja ottaa seuraavat parametrit:

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

- **`x`**: Merkkijono, josta osamerkki otetaan
- **`first`**: Poimittavan osamerkkijonon alkumerkki (ensimmäinen merkki)
- **`last`**: Poimittavan osamerkkijonon loppuindeksi (viimeinen merkki)

Katsotaanpa esimerkkiä.

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

Tässä esimerkissä valitsemme merkkijonon `"data analysis"` osamerkkijonon indeksistä 1 indeksiin 4 ja tallennamme sen muuttujaan `result`. Tuloksena on `"data"`.

## Mitä käytännön sovelluksia R:n `substring()`llä on?

Kun **käsittelet tietojoukkoja**, joudut usein valitsemaan, muokkaamaan tai poimimaan tiettyjä merkkijonojen osia. Voit käyttää R:n `substring()` tähän eri tavoin.

### Merkkien poiminta `substring()`:llä

Voit tallentaa indeksit muuttujiin ja syöttää ne sitten argumentteina `substring()`.

```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
```

Tämä esimerkki osoittaa, mitä `substring()` tekee. Alkuperäisestä merkkijonosta `"Data Science"` valittiin osajono, joka alkaa kohdasta 6 ja päättyy kohtaan 12. Määritimme muuttujan `start_index` alkupisteeksi ja muuttujan `end_index` loppupisteeksi. Tuloksena näkyy poimittu osajono, tässä tapauksessa `"Science"`. Loppuindeksin arvo 12 on inklusiivinen, mikä tarkoittaa, että merkki kohdasta 12 sisältyy osajonoon.

### Merkkijonojen manipulointi R:n `substring()`

Ensin luomme data-kehyksen `df`, joka sisältää tunnukset, iät ja ammatit. Sitten käytämme `substring()` funktiota lisätäksemme välilyönnin jokaisen merkkijonon toiseen asemaan tunnus-sarakkeessa.

```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 in 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)
```

Tässä esimerkissä `substring()` poimii jokaisen luvun ensimmäisen numeron (`substring(df$ID, 1, 1`) ja loput numerosarjasta toisesta sijainnista alkaen (`substring(df$ID, 2)`). Sitten näiden kahden merkkijonon väliin lisätään välilyönti [R paste](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/r-liima/)-komennolla. Tulos näkyy data-kehyksen ID-sarakkeessa.

Tulostus näyttää seuraavalta:

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

Vinkki Jos haluat oppia lisää merkkijonojen käsittelystä R-kielessä, tutustu R gsub()- ja sub() -oppaaseen digitaalisessa oppaassamme.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/r-alimerkkijono/](https://www.ionos.com/fi-fi/digitalguide/verkkosivustot/verkkosivujen-kehittaeminen/r-alimerkkijono/) for AI/LLM consumption.