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 dplyr-a 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 dplyr-a wiersze o wskazanych numerach
    • jeśli numer wiersza jest ujemny, dany wiersz jest usuwany, jeśli dodatni, wybierany.
  • 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

distinct

distinct(tablica)

  • Usuwa z tablicy duplikaty (aby wiersze uznać za duplikaty, muszą mieć jednakowe wartości we wszystkich kolumnach).

Przykład

dane = data.frame(x = c(1, 1, 1), y = c(1, 2, 1))
distinct(dane)
# wynikiem będzie:
#
# x y
# 1 1
# 1 2

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.

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.

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

sample_frac

sample_frac(tablica, odsetek, czyZeZwracaniem, wagi)

  • Pozostawia w tablicy losowo wybrane odsetek wierszy.
  • Parametr określający, czy losować ze zwracaniem jest nieobowiązkowy. Jeśli nie zostanie określony, losowani odbędzie się bez zwracania.
  • Parametr określający wagi jest nieobowiązkowy. Jeśli nie zostanie określony, wszystkie wiersze będą miały równe prawdopodobieństwa wylosowania.

Przykład

dane = data.frame(x = 1:10)

sample_frac(dane, 0.5)
# wynikiem będzie tablica o 5 wierszach, żadna wartość nie będzie się powtarzać

sample_frac(dane, 0.7, TRUE)
# wynikiem będzie tablica o 7 wierszach, wartości mogą się powtarzać

sample_frac(dane, 0.7, F, x)
# wynikiem będzie tablica o 7 wierszach, wartości nie będą się powtarzać, pradopodobieństwo wylosowania liczby będzie proporcjonalne do wartości liczby

sample_n

sample_n(tablica, liczbaWierszy, czyZeZwracaniem, wagi)

  • Pozostawia w tablicy losowo wybraną liczbę wierszy.
  • Parametr określający, czy losować ze zwracaniem jest nieobowiązkowy. Jeśli nie zostanie określony, losowani odbędzie się bez zwracania.
  • Parametr określający wagi jest nieobowiązkowy. Jeśli nie zostanie określony, wszystkie wiersze będą miały równe prawdopodobieństwa wylosowania.

Przykład

dane = data.frame(x = 1:10)

sample_n(dane, 5)
# wynikiem będzie tablica o 5 wierszach, żadna wartość nie będzie się powtarzać

sample_n(dane, 7, TRUE)
# wynikiem będzie tablica o 7 wierszach, wartości mogą się powtarzać

sample_n(dane, 7, F, x)
# wynikiem będzie tablica o 7 wierszach, wartości nie będą się powtarzać, pradopodobieństwo wylosowania liczby będzie proporcjonalne do wartości liczby
r_dplyr_wiersze.1421680517.txt.gz · ostatnio zmienione: 2015/01/19 16:15 przez zozlak