# Kas ir substring() funkcija R valodā?

R funkcija `substring()` ir noderīga, lai sagatavotu datus analīzei. To var izmantot, piemēram, lai pārvērstu teksta datus labāk strukturētos formātos.

## Kādam nolūkam tiek izmantota R funkcija `substring()`?

R’s `substring()` ir iebūvēta funkcija, kas atlasa daļu no esošas virknes. Tā ļauj precīzi definēt sākuma un beigu indeksus, lai jūs varētu izdalīt nepieciešamo virknes daļu. Funkcijai ir dažādi lietojumi, sākot no datu tīrīšanas līdz konkrētas informācijas izgūšanai no nestrukturētiem teksta datiem. Jūs to varat izmantot, piemēram, lai izgūtu pasta indeksus no adresēm vai datumus no laika zīmogiem.

`substring()` ir elastīga situācijās, kas prasa precīzu izvēlēto apakšvirkņu **pozīcijas un garuma kontroli**. Šī metode bieži tiek izmantota datu analīzē un teksta datu sagatavošanā turpmākai apstrādei.

## Kāda ir `substring()` funkcijas sintakse R?

`substring()` atgriež izvilkto **teksta daļu** un pieņem šādus parametrus:

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

- **`x`**: virkne, no kuras tiks izgriezta apakšvirkne
- **`first`**: Izgūstamās apakšvirknes sākuma indekss (pirmais rakstzīme)
- **`last`**: Izgūstamās apakšvirknes beigu indekss (pēdējais rakstzīme)

Paskatīsimies uz piemēru.

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

Šajā piemērā mēs izvēlamies apakšvirkni no indeksa 1 līdz indeksam 4 no virknes `"data analysis"` un saglabājam to mainīgajā `result`. Rezultāts ir `"data"`.

## Kādi ir praktiskie R `substring()` izmantošanas veidi?

**Apstrādājot datu kopas**, bieži vien ir jāizvēlas, jāmanipulē vai jāizgūst noteiktas teksta daļas. Lai to izdarītu dažādos veidos, var izmantot R funkciju `substring()`.

### Rakstzīmju izgūšana ar `substring()`

Jūs varat saglabāt indeksus mainīgajos un pēc tam ievadīt tos kā argumentus `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
```

Šis piemērs parāda, ko dara `substring()`. No sākotnējās virknes `"Data Science"` tika izvēlēta apakšvirkne no pozīcijas 6 līdz 12. Mēs definējām mainīgos `start_index` kā sākuma punktu un `end_index` kā beigu punktu. Izvade parāda izvilkto apakšvirkni, šajā gadījumā `"Science"`. Beigu indeksa vērtība 12 ir ieskaitīta, kas nozīmē, ka rakstzīme no pozīcijas 12 ir iekļauta apakšvirknē.

### Stingu manipulēšana ar funkciju `substring()` programmā R

Vispirms izveidosim datu rāmi `df`, kas satur identifikācijas numurus, vecumu un profesijas. Tad izmantosim funkciju `substring()`, lai ievietotu atstarpi katras identifikācijas numura kolonā esošās virknes otrajā pozīcijā.

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

Šajā piemērā `substring()` izgūst katra skaitļa pirmo ciparu (`substring(df$ID, 1, 1`) un pārējo skaitļu secību, sākot no otrās pozīcijas (`substring(df$ID, 2)`). Pēc tam starp šīm divām apakšvirknēm tiek ievietota atstarpe, izmantojot [R paste](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/r-pasta/). Rezultāts parādās datu rāmja ID ailē.

Rezultāts izskatās šādi:

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

Tip Ja vēlaties uzzināt vairāk par stringu apstrādi R, izlasiet mūsu R gsub() un sub() apmācību mūsu digitālajā ceļvedī.


This is a markdown version of: [https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/r-apaksvirkne/](https://www.ionos.com/lv-lv/digitalguide/timekla-vietnes/timekla-izstrade/r-apaksvirkne/) for AI/LLM consumption.