Narzędzia użytkownika

Narzędzia witryny


r_dplyr_sortowanie

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
r_dplyr_sortowanie [2015/01/27 09:07]
zozlak
r_dplyr_sortowanie [2015/03/09 18:56] (aktualna)
zozlak przywrócono poprzednią wersję
Linia 1: Linia 1:
-====== 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()// ​                  | 
-^ Zmień wartości kolumny ​            | //​transmutate()// ​         | //mutate(), mutate_each()// ​   | 
- 
-===== select ===== 
- 
-//​**select**(tablica,​ kolumna1, ...)// 
- 
-  * Pozostawia w [[r_dplyr_tablice|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 ==== 
- 
-<code rsplus> 
-dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​)) 
- 
-select(dane,​ litera, id) 
-# wynikiem będzie: 
-# 
 ====== Czaswoniki dplyr - sortowanie ====== ====== Czaswoniki dplyr - sortowanie ======
  
Linia 44: Linia 10:
 ==== Przykład ==== ==== Przykład ====
  
-<​code ​rsplus>+<​code>​
 dane = data.frame(x = rep(2:1, 3), y = 1:6) dane = data.frame(x = rep(2:1, 3), y = 1:6)
  
Linia 70: Linia 36:
 </​code>​ </​code>​
  
-# 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 
-</​code>​ 
- 
-===== rename ===== 
- 
-//​**rename**(tabela,​ nazwaPo1 = nazwaPrzed1,​ ...)// 
- 
-  * Zmienia nazwy kolumn w [[r_dplyr_tablice|tablicy dplyr-a]]. 
-    * Możliwa jest zmiana nazwy wielu kolumn jednocześnie. 
- 
-==== Przykład ==== 
- 
-<code rsplus> 
-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 
-</​code>​ 
- 
-===== mutate ===== 
- 
-//​**mutate**(tabela,​ nazwaKolumny1 = definicjaKolumny1,​ ...)// 
- 
-  * Tworzy nowe kolumny w [[r_dplyr_tablice|tablicy dplyr-a]]. 
-  * Jeśli na [[r_dplyr_tablice|tablicy dplyr-a]] zostało określone grupowanie (np. czasownikiem [[r_dplyr_agreagety#​group_by|group_by]]),​ wtedy obliczanie wartości odbywać się będzie w ramach tego podziału. 
-  * Jeśli nazwa tworzonej kolumny będzie się pokrywać z już istniejącą kolumną, dotychczasowe wartości kolumny zostaną nadpisane nowymi. 
- 
-==== Przykład ==== 
- 
-<code rsplus> 
-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 
- 
-dane = data.frame(grupa = c(1, 1, 2, 2, 2), wartosc = 1:5) 
- 
-mutate(dane,​ srednia = mean(wartosc)) 
-# wynikiem będzie: 
-# 
-#  grupa wartosc srednia 
-#      1       ​1 ​      3 
-#      1       ​2 ​      3 
-#      2       ​3 ​      3 
-#      2       ​4 ​      3 
-#      2       ​5 ​      3 
- 
-dane = group_by(dane,​ grupa) 
-mutate(dane,​ srednia = mean(wartosc)) 
-# wynikiem będzie: 
-# 
-#  grupa wartosc srednia 
-#      1       ​1 ​    1.5 
-#      1       ​2 ​    1.5 
-#      2       ​3 ​      4 
-#      2       ​4 ​      4 
-#      2       ​5 ​      4 
- 
-</​code>​ 
- 
-===== mutate_each ===== 
- 
-//​**mutate_each**(tabela,​ funs(funkcja)//​ 
- 
-  * Nadpisuje wartości wszystkich kolumn w [[r_dplyr_tablice|tablicy dplyr-a]] poprzez zastosowanie do nich wskazanej funkcji. 
-    * Jeśli do //funs// przekazanych zostanie wiele funkcji, powstanie tyle nowych kolumn (zmiennych),​ ile wynosi liczba przekazanych funkcji razy liczba kolumn w [[r_dplyr_tablice|tablicy dplyr-a]] (patrz przykład). 
-  * Jeśli na [[r_dplyr_tablice|tablicy dplyr-a]] zostało określone grupowanie (np. czasownikiem [[r_dplyr_agreagety#​group_by|group_by]]),​ wtedy obliczanie wartości odbywać się będzie w ramach tego podziału. 
- 
-==== Przykład ==== 
- 
-<code rsplus> 
-dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​),​ stringsAsFactors = F) 
- 
-mutate_each(dane,​ funs(min)) 
-# wynikiem będzie: 
-# 
-# arabska litera rzymska 
-#       ​1 ​     a       I 
-#       ​1 ​     a       I 
-#       ​1 ​     a       I 
- 
-mutate_each(dane,​ funs(min, max)) 
-# wynikiem będzie: 
-# 
-# arabska litera rzymska arabska_min litera_min rzymska_min arabska_max litera_max rzymska_max 
-#       ​1 ​     a       ​I ​          ​1 ​         a           ​I ​          ​3 ​         c         III 
-#       ​2 ​     b      II           ​1 ​         a           ​I ​          ​3 ​         c         III 
-#       ​3 ​     c     ​III ​          ​1 ​         a           ​I ​          ​3 ​         c         III 
- 
-</​code>​ 
- 
- 
-===== transmutate ===== 
- 
-//​**transmute**(tabela,​ definicjaKolumny1,​ ...)// 
- 
-  * Tworzy nowe kolumny w [[r_dplyr_tablice|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 [[r_dplyr_tablice|tablicy dplyr-a]] zostało określone grupowanie (np. czasownikiem [[r_dplyr_agreagety#​group_by|group_by]]),​ wtedy obliczanie wartości odbywać się będzie w ramach tego podziału. 
-    * W takim wypadku zachowywane są również te zmienne (kolumny), które wyznaczają grupy. 
-==== Przykład ==== 
- 
-<code rsplus> 
-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 
- 
-dane = data.frame(grupa = c(1, 1, 2, 2, 2), wartosc = 1:5) 
- 
-transmute(dane,​ srednia = mean(wartosc)) 
-# wynikiem będzie: 
-# 
-# srednia 
-#       3 
-#       3 
-#       3 
-#       3 
-#       3 
- 
-dane = group_by(dane,​ grupa) 
-transmute(dane,​ srednia = mean(wartosc)) 
-# wynikiem będzie: 
-# 
-#  grupa srednia 
-#      1     1.5 
-#      1     1.5 
-#      2       4 
-#      2       4 
-#      2       4 
-</​code>​ 
  
r_dplyr_sortowanie.txt · ostatnio zmienione: 2015/03/09 18:56 przez zozlak