dplyrã®ãã¼ã¸ã§ã³ã0.2ã«ä¸ãã£ã¦
dplyrã®ãã¼ã¸ã§ã³ã2.0ã«ä¸ãã£ã¦å°ã便å©ã«ãªãã¾ããã
詳ããã¯ä»¥ä¸ã®ãªãªã¼ã¹ãã¼ããã覧ãã ããã
https://github.com/hadley/dplyr/releases/tag/v0.2.0
以ä¸ã®3ç¹ã大ããªå¤æ´ç¹ã
- %.%ã%>%ã«å¤ãã£ã
- do()ãçã¾ãå¤ãã£ã
- æ°ãã便å©é¢æ°ãå ãã£ã
ç°¡åã«è§£èª¬ãã¾ãã
%.%ã%>%ã«å¤ãã£ã
%.%ï¼chainæ¼ç®åï¼ã¯çæ§å¤ç¨ããã¦ãããã¨æãã¾ãããããããã·ãããã¼ãä¸åº¦é¢ãå¿ è¦ãããã®ã§ã¿ã¤ããã¥ãããã¨ãããã¨ã§magrittrããã±ã¼ã¸ãã%>%æ¼ç®åãã¤ã³ãã¼ããã¦ããã¨ã®ãã¨ã§ãã%.%ã¯ããã廿¢ãããã©ããããããªãããã¾ãæ ã¦ããªã¨ãã
do()ãçã¾ãå¤ãã£ã
do()ã¯ä»åã®ãã¼ã¸ã§ã³ã¢ããã«ä¼´ãçã¾ãå¤ãã£ãã¨ã®ãã¨ã§ãï¼completely overhauledï¼ã
æ£ç´ãªè©±ãdo()使ã£ã¦ãªãã£ãã®ã§ãªã«ãçã¾ãå¤ãã£ãã®ãããããã£ã¦ãªãã®ã§ãããæ©è½çã«ã¯plyrããã±ã¼ã¸ã®dlply()ã¨åçã«ãªã£ãã¨ã®ãã¨ã
dlply()ã¯ãªã¹ãã§çµæãè¿ãã¾ãããdo()ã®å ´åã¯ãã¼ã¿ãã¬ã¼ã ã§è¿ãã¨ãããç¸éç¹ã
以ä¸ã®ããã«æ°´æºãã¨ã«å帰ãããããã¨ãçã«ä½¿ãã¾ãã
library(dplyr) models <- mtcars %>% group_by(cyl) %>% do(lm=lm(mpg ~ wt, data = .)) models %>% summarise(rsq = summary(lm)$r.squared) # Source: local data frame [3 x 1] # # rsq # 1 0.5086326 # 2 0.4645102 # 3 0.4229655
ã¡ãªã¿ã«ä¸è¨ã®ä¾ã§ã¯do()ã®ä¸ã§lm=lm(mpg ~ wt, data = .)ã¨ããããã«å帰ããçµæã«lmã¨ããååãã¤ãã¦ãã¾ãã
ãããããã¨ã§ããã¼ã¿ãã¬ã¼ã ã®ä¸ã«ãªã¹ãã®å½¢ã§æ¼ãè¾¼ãã§ããã¾ãã
models # Source: local data frame [3 x 2] # Groups: <by row> # # cyl lm # 1 4 <S3:lm> # 2 6 <S3:lm> # 3 8 <S3:lm>
ååãã¤ããªãã¨æ¼ãè¾¼ãã§ãããã¨ã©ã¼ã«ãªãã®ã§è¦æ³¨æã
æ°ãã便å©é¢æ°ãå ãã£ã
glimpse()ãsample_n()ãsample_frac()ãsummarise_eachãmutate_eachã¨ãã£ãæ°ãã颿°ã追å ããã¾ããã
ã¨ãã«*_eachã®è¿½å ã¯å¬ããã¨ããã§ãã
glimpse
dplyrã使ã£ã¦ããã¨ãã¼ã¿ãtblåã«ãªããã¨ãããã¾ãã
tblåã«ãªãã¨ãã¨ãã°headã§ã¡ãã£ã¨ãã¼ã¿ãè¦ããã¨æã£ã¦ãå
¨ã¦ã®åã表示ãããªãã¦ã¤ã©ã¤ã©ãã¾ãã
ãããªæã¯glimpseã使ã£ã¦ä¸ããã
smp <- as.tbl(cbind(iris, iris)) glimpse(smp) # Variables: # $ Sepal.Length (dbl) 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, 5.7, 5.4, 5... # $ Sepal.Width (dbl) 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.4, 3.0, 3.0, 4.0, 4.4, 3.9, 3... # $ Petal.Length (dbl) 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.6, 1.4, 1.1, 1.2, 1.5, 1.3, 1... # $ Petal.Width (dbl) 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0... # $ Species (fctr) setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, setos... # $ Sepal.Length (dbl) 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.8, 4.8, 4.3, 5.8, 5.7, 5.4, 5... # $ Sepal.Width (dbl) 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.4, 3.0, 3.0, 4.0, 4.4, 3.9, 3... # $ Petal.Length (dbl) 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.6, 1.4, 1.1, 1.2, 1.5, 1.3, 1... # $ Petal.Width (dbl) 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.2, 0.1, 0.1, 0.2, 0.4, 0.4, 0... # $ Species (fctr) setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, setosa, setos...
sample_n / sample_frac
ãããããµã³ããªã³ã°ã®ããã®é¢æ°ã§ãã
sample_nã¯ãµã³ãã«ãµã¤ãºãè¡æ°ã§æå®ãsample_fracã¯å²åã§æå®ãã¾ãã
sample_n(mtcars, 10) sample_frac(mtcars, 0.1)
summarise_each / mutate_each
ãããä¸çªå¬ãã追å ããã以ä¸ã®ããã°è¨äºåç
§ã
http://d.hatena.ne.jp/sfchaos/20140514/p1
ä»ã«ããã¤ãã¼ãã§ã³ã¸ã¯è²ã
ã¨ããã®ã§ãªãªã¼ã¹ãã¼ããã覧ãã ããã
https://github.com/hadley/dplyr/releases/tag/v0.2.0