Narzędzia użytkownika

Narzędzia witryny


r_dplyr_kolumny

To jest stara wersja strony!


Czasowniki dplyr zarządzające kolumnami (zmiennymi)

Podsumowanie

Usuń niewymienione kolumny Pozostaw niewymienione kolumny
Zmień nazwy i/lub kolejność kolumn select() rename()
Stwórz nową kolumnę transmutate() mutate()

select

select(tablica, kolumna1, …)

  • Pozostawia w tablicy dplyr-a jedynie wymienione kolumny, układając je w takiej kolejności, w jakiej zostały wymienione.
    • Dodanie znaku - przed nazwą zmiennej spowoduje jej usunięcie.
  • Umożliwia również zmianę nazw kolumn - składnia: nowaNazwa = staraNazwa.
  • Dostępne są funkcje pomocnicze ułatwiające wybór wielu kolumn:
    • wszystkie kolumny pomiędzy dwoma wskazanymi: kolumnaOd : kolumnaDo;
    • kolumny, których nazwa (wszystkie przyjmują argument ignore.case umożliwiający pominięcie wielkości znaków):
      • kończy się na x: ends_with(x)
      • rozpoczyna się od x: starts_with(x)
      • zawiera x: contains(x)
      • pasuje do wyrażenia regularnego x: matches(x)
      • pasuje do sekwencji nazw: num_range(prefiks, wektorLiczb, liczbaZnakówLiczby)
        • np. num_range('p', 1:3, 2) pasuje do kolumn p01, p02, p03.

Przykład

dane = data.frame(arabska = 1:3, litera = c('a', 'b', 'c'), rzymska = c('I', 'II', 'III'))

select(dane, litera, id)
# wynikiem będzie:
#
# litera id
#      a  1
#      b  2
#      c  3

select(dane, ends_with('KA'))
select(dane, ends_with('ka'))
# wynikiem obydwu będzie:
#
# arabska rzymska
#       1       I
#       2      II
#       3     III

select(dane, ends_with('KA', FALSE))
# wynikiem będzie:
#
# ramka danych z zerową liczbą kolumn oraz 3 wierszami

select(dane, starts_with('ar'), litera)
# wynikiem obydwu będzie:
#
# arabska litera
#       1      a
#       2      b
#       3      c

rename

rename(tabela, nazwaPo1 = nazwaPrzed1, …)

  • Zmienia nazwy kolumn w tablicy dplyr-a.
    • Możliwa jest zmiana nazwy wielu kolumn jednocześnie.

Przykład

dane = data.frame(arabska = 1:3, litera = c('a', 'b', 'c'), rzymska = c('I', 'II', 'III'))

rename(dane, arabska2 = arabska, Litera = litera)
# wynikiem będzie:
#
# arabska2 Litera rzymska
#        1      a       I
#        2      b      II
#        3      c     III

mutate

mutate(tabela, nazwaKolumny1 = definicjaKolumny1, …)

  • Tworzy nowe kolumny w tablicy dplyr-a.
  • Jeśli na tablicy dplyr-a zostało określone grupowanie (np. czasownikiem group_by), wtedy obliczanie wartości odbywać się będzie w ramach tego podziału.

Przykład

dane = data.frame(arabska = 1:3, litera = c('a', 'b', 'c'), rzymska = c('I', 'II', 'III'))

mutate(dane, arabskaRzymska = paste(arabska, rzymska), arabskaLitera = paste(arabska, litera))
# wynikiem będzie:
#
# arabska litera rzymska arabskaRzymska arabskaLitera
#       1      a       I            1 I           1 a
#       2      b      II           2 II           2 b
#       3      c     III          3 III           3 c

transmutate

transmute(tabela, definicjaKolumny1, …)

  • Tworzy nowe kolumny w tablicy dplyr-a, jednocześnie usuwając z niej wszystkie pozostałe kolumny.
    • Jest odpowiednikiem złożenia: mutate() i select() wybierającego tylko kolumny stworzone przez mutate().
  • Jeśli na tablicy dplyr-a zostało określone grupowanie (np. czasownikiem group_by), wtedy obliczanie wartości odbywać się będzie w ramach tego podziału.

Przykład

dane = data.frame(arabska = 1:3, litera = c('a', 'b', 'c'), rzymska = c('I', 'II', 'III'))

transmute(dane, arabskaRzymska = paste(arabska, rzymska), arabskaLitera = paste(arabska, litera))
# wynikiem będzie:
#
# arabskaRzymska arabskaLitera
#            1 I           1 a
#           2 II           2 b
#          3 III           3 c
r_dplyr_kolumny.1421677797.txt.gz · ostatnio zmienione: 2015/01/19 15:29 przez zozlak