Jak usunąć pierwszy znak z ciągów za pomocą dplyr


Możesz użyć następującej podstawowej składni w dplyr , aby usunąć pierwszy znak z każdego ciągu w określonej kolumnie:

 library (dplyr)

df_new <- df %>% mutate(across(c(' my_column '), substr, 2 , nchar(my_column)))

Ta szczególna składnia usuwa pierwszy znak każdego ciągu z kolumny o nazwie moja_kolumna .

Zauważ, że używamy funkcji substr() do wyodrębnienia podciągu od drugiego znaku każdego ciągu aż do długości ciągu.

Powoduje to usunięcie pierwszego znaku z ciągu.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Usuń pierwszy znak z ciągów za pomocą dplyr

Załóżmy, że mamy następującą ramkę danych w R:

 #create data frame
df <- data. frame (team=c('XMavs', 'XPacers', 'XHawks', 'XKings', 'XNets', 'XCeltics'),
                 points=c(104, 110, 134, 125, 114, 124))

#view data frame
df

      team points
1 XMavs 104
2 XPacers 110
3XHawks 134
4 XKings 125
5 XNets 114
6 XCeltics 124

Załóżmy, że chcemy usunąć pierwszy znak z każdego ciągu w kolumnie zespołu .

W tym celu możemy użyć następującej składni:

 library (dplyr)

#remove first character from each string in 'team' column
df_new <- df %>% mutate(across(c(' team '), substr, 2 , nchar(team)))

#view updated data frame
df_new

     team points
1 Mavs 104
2 Pacers 110
3 Hawks 134
4 Kings 125
5 Nets 114
6 Celtics 124

Należy pamiętać, że pierwszy znak każdego ciągu znaków w kolumnie zespołu został usunięty.

Należy pamiętać, że funkcja nchar() służy do obliczania całkowitej liczby znaków w ciągu.

Dlatego używamy funkcji substr() , aby wyodrębnić podciąg od drugiego znaku do ostatniego znaku każdego ciągu, co jest równoznaczne z usunięciem pierwszego znaku każdego ciągu.

Uwaga : jeśli chcesz usunąć pierwszy znak z wielu ciągów kolumn, po prostu uwzględnij wiele nazw kolumn w funkcjicross () .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w dplyr:

Jak usunąć wiersze za pomocą dplyr
Jak wybrać kolumny według indeksu za pomocą dplyr
Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *