Narzędzia użytkownika

Narzędzia witryny


r_dplyr_kolumny

Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
r_dplyr_kolumny [2015/01/19 15:35]
zozlak [Przykład]
r_dplyr_kolumny [2015/01/27 09:06] (aktualna)
zozlak
Linia 6: Linia 6:
 ^ Zmień nazwy i/lub kolejność kolumn | //​select()// ​              | //​rename()// ​                  | ^ Zmień nazwy i/lub kolejność kolumn | //​select()// ​              | //​rename()// ​                  |
 ^ Stwórz nową kolumnę ​               | //​transmutate()// ​         | //​mutate()// ​                  | ^ Stwórz nową kolumnę ​               | //​transmutate()// ​         | //​mutate()// ​                  |
 +^ Zmień wartości kolumny ​            | //​transmutate()// ​         | //mutate(), mutate_each()// ​   |
  
 ===== select ===== ===== select =====
Linia 26: Linia 27:
 ==== Przykład ==== ==== Przykład ====
  
-<​code>​+<​code ​rsplus>
 dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​)) dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​))
  
Linia 69: Linia 70:
 ==== Przykład ==== ==== Przykład ====
  
-<​code>​+<​code ​rsplus>
 dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​)) dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​))
  
Linia 87: Linia 88:
   * Tworzy nowe kolumny w [[r_dplyr_tablice|tablicy dplyr-a]].   * 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 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 ==== ==== Przykład ====
  
-<​code>​+<​code ​rsplus>
 dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​)) dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​))
  
Linia 125: Linia 127:
  
 </​code>​ </​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 ===== ===== transmutate =====
Linia 133: Linia 167:
     * Jest odpowiednikiem złożenia: //​mutate()//​ i //​select()//​ wybierającego tylko kolumny stworzone przez //​mutate()//​.     * 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.   * 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 ==== ==== Przykład ====
  
-<​code>​+<​code ​rsplus>
 dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​)) dane = data.frame(arabska = 1:3, litera = c('​a',​ '​b',​ '​c'​),​ rzymska = c('​I',​ '​II',​ '​III'​))
  
Linia 145: Linia 180:
 #           2 II           2 b #           2 II           2 b
 #          3 III           3 c #          3 III           3 c
-</​code>​ 
  
 dane = data.frame(grupa = c(1, 1, 2, 2, 2), wartosc = 1:5) dane = data.frame(grupa = c(1, 1, 2, 2, 2), wartosc = 1:5)
Linia 169: Linia 203:
 #      2       4 #      2       4
 #      2       4 #      2       4
 +</​code>​
 +
r_dplyr_kolumny.1421678124.txt.gz · ostatnio zmienione: 2015/01/19 15:35 przez zozlak