Jauna versija pakotnei ‘dplyr’

Pārskats par jaunajām funkcijām, kas iekļautas ‘dplyr’ versijā 1.2.0.
R
jaunumi
pakotnes
Author

Didzis Elferts

Published

February 16, 2026

Pakotnei dplyr ir iznākusi jauna versija 1.2.0, kas ietver vairākas jaunas funkcijas - filter_out(), when_any(), when_all(), recode_values(), replace_values() un replace_when().

Pilnu izmaiņu sarakstu var izlasīt Tidyverse blogā.

filter_out()

Funkcija filter_out() ļauj atlasīt rindas, izslēdzot tās, kas atbilst noteiktiem kritērijiem.

# Izveido jaunu datu tabulu
library(dplyr)
dati <- tibble(
    vards = c("Anna", "Jānis", "Pēteris", "Līga"),
    vecums = c(25, 30, 22, 28)
)
dati
# A tibble: 4 × 2
  vards   vecums
  <chr>    <dbl>
1 Anna        25
2 Jānis       30
3 Pēteris     22
4 Līga        28
# Izmanto filter_out() funkciju, lai izslēgtu rindas, kur vecums ir lielāks par 25
dati |>
    filter_out(vecums > 25)
# A tibble: 2 × 2
  vards   vecums
  <chr>    <dbl>
1 Anna        25
2 Pēteris     22

when_any() un when_all()

Funkcijas when_any() un when_all() ļauj veikt nosacījumu pārbaudi, kur attiecīgi pirmajā gadījumā tiek pārbaudīts, vai vismaz viens nosacījums ir patiess, bet otrajā gadījumā tiek pārbaudīts, vai visi nosacījumi ir patiesi. Šīs funkcijas var lietot, piemēram, kopā ar filter(), aizstājot loģiskos operatorus | un &.

# Izmanto when_any() funkciju, lai atlasītu rindas, kur vecums ir lielāks par 25 vai vārds ir "Anna"
dati |>
    filter(when_any(vecums > 25, vards == "Anna"))
# A tibble: 3 × 2
  vards vecums
  <chr>  <dbl>
1 Anna      25
2 Jānis     30
3 Līga      28
# Izmanto when_all() funkciju, lai atlasītu rindas, kur vecums ir lielāks vai vienāds 25 un vārds ir "Anna"
dati |>
    filter(when_all(vecums >= 25, vards == "Anna"))
# A tibble: 1 × 2
  vards vecums
  <chr>  <dbl>
1 Anna      25

recode_values(), replace_values() un replace_when()

Funkcijas recode_values() un replace_values() izmanto, lai izveidotu jaunu mainīgo vai aizstātu vērtības esošajā mainīgajā.

# Izmanto recode_values() funkciju, lai izveidotu jaunu mainīgo "vards_2", kur vārds ir aizstāts ar saīsinājumu
dati |>
    mutate(vards_2 = recode_values(vards,
                                 "Anna" ~ "AN",
                                 "Jānis" ~ "JĀ",
                                 "Pēteris" ~ "PĒ",
                                 "Līga" ~ "LĪ"))
# A tibble: 4 × 3
  vards   vecums vards_2
  <chr>    <dbl> <chr>  
1 Anna        25 AN     
2 Jānis       30 JĀ     
3 Pēteris     22 PĒ     
4 Līga        28 LĪ     
# Izmanto replace_values() funkciju, lai aizstātu vērtības esošajā mainīgajā "vards"
dati |>
    mutate(vards = replace_values(vards,
                                 "Anna" ~ "AN",
                                 "Jānis" ~ "JĀ",
                                 "Pēteris" ~ "PĒ",
                                 "Līga" ~ "LĪ"))
# A tibble: 4 × 2
  vards vecums
  <chr>  <dbl>
1 AN        25
2 JĀ        30
3 PĒ        22
4 LĪ        28

Funkcija replace_when() ļauj aizstāt vērtības, pamatojoties uz nosacījumu.

# Izmanto replace_when() funkciju, lai aizstātu vērtības mainīgajā "vecums" ar jaunu vecuma vērtību
dati |>
    mutate(vecums = replace_when(vecums,
                                vecums > 25 ~ 30,
                                vecums <= 25 ~ 20))
# A tibble: 4 × 2
  vards   vecums
  <chr>    <dbl>
1 Anna        20
2 Jānis       30
3 Pēteris     20
4 Līga        30