Narzędzia użytkownika

Narzędzia witryny


r_dplyr_wiersze

To jest stara wersja strony!


Czasowniki dplyr wybierające wiersze

filter

filter(tablica, warunek1, …)

  • Pozostawia w tablicy tylko te wiersze, które spełniają wszystkie przekazane warunki.
  • Pojedynczy warunek może być dowolnym wyrażeniem R, byleby ostatecznie zwracał wektor logiczny długości takiej, jak liczba wierszy tablicy.
    • Jeśli dane nie były jeszcze pobierane z serwera (np. czasownikiem collect()), dostępne są wyłącznie następujące funkcje i operatory R (zauważmy, że nie ma tam grepl()):
      • podstawowe operatory matematyczne: +, -, *, /, %%, ^
      • funkcje matematyczne: abs, acos, acosh, asin, asinh, atan, atan2, atanh, ceiling, cos, cosh, cot, coth, exp, floor, log, log10, round, sign, sin, sinh, sqrt, tan, tanh
      • operatory porównań: <, ⇐, !=, >=, >, ==, %in%
      • operatory logiczne: boolean operations: &, &&, |, ||, !, xor

Przykład

t1 = data.frame(id = 11:16, zmienna1 = c('a', 'b', 'c', 'd', 'e', 'f'))

filter(t1, id < 13, zmienna1 %in% c('b', 'c'))
# wynikiem będzie:
#
# id zmienna1
# 12        b

filter(t1, id < 13 | zmienna1 %in% c('b', 'c'))
# wynikiem będzie:
#
# id zmienna1
# 12        b
# 13        c

slice

slice(tablica, wektorNumerówWierszy)

  • Wybiera z tablicy wiersze o wskazanych numerach.
  • Odpowiednik R-owej składni tablica[wektorNumerówWierszy, ].

Przykład

t1 = data.frame(id = 11:16, zmienna1 = c('a', 'b', 'c', 'd', 'e', 'f'))
slice(t1, c(2, 4, 6))
# wynikiem będzie:
#
# id zmienna1
# 12        b
# 14        d
# 16        f

semi_join

semi_join(tablica1, tablica2)

  • Pozostawia w tablicy1 tylko te wiersze, które pasują do jakiegoś wiersza tablicy tablica2.
    • Porównanie dokonywane jest tylko na podstawie kolumn wspólnych dla obydwu tablic.
  • Uwaga! Nie należy używać tego czasownika na tablicach, które nie zostały jeszcze pobrane z serwera czasownikiem collect() - implementacja tego czasownika po stronie serwera jest fatalnie ślamazarna.

Przykład

t1 = data.frame(id = 1:3, zmienna1 = c('a', 'b', 'c'))
t2 = data.frame(id = 2:4, zmienna2 = c('x', 'y', 'z'))
semi_join(t1, t2)
# wynikiem będzie:
#
# id zmienna1
#  2        b
#  3        c

anti_join

anti_join(tablica1, tablica2)

  • Pozostawia w tablicy1 tylko te wiersze, które pasują do jakiegoś wiersza tablicy tablica2.
    • Porównanie dokonywane jest tylko na podstawie kolumn wspólnych dla obydwu tablic.
  • Uwaga! Nie należy używać tego czasownika na tablicach, które nie zostały jeszcze pobrane z serwera czasownikiem collect() - implementacja tego czasownika po stronie serwera jest fatalnie ślamazarna.

Przykład

t1 = data.frame(id = 1:3, zmienna1 = c('a', 'b', 'c'))
t2 = data.frame(id = 2:4, zmienna2 = c('x', 'y', 'z'))
anti_join(t1, t2)
# wynikiem będzie:
#
# id zmienna1
#  1        a
r_dplyr_wiersze.1418805634.txt.gz · ostatnio zmienione: 2014/12/17 09:40 przez zozlak