- dplyr package 的介紹
Monday, August 24, 2015
dplyr 是什麼
什麼樣的人會需要使用 dplyr
dplyr 的實例操作
了解拿到的資料格式
將上述資料轉換成資料分析需要的資料格式
撰寫專換資料格式的程式碼
相對簡單的資料處理方式讓人可以把時間花在解決問題而不是怎麼調整資料格式
使用對應的資料操作字詞當成函數名稱 EX: filter、arrange、select
相對快的計算速度
在dplyr中用於資料處理的函數名稱大多工程師都可以猜的到,而使用邏輯也很簡單,通常都是 函數名(物件,物件裡項目1,物件裡項目2,…),此外還有 group_by 跟 join 可以使用
iris
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 5.1 3.5 1.4 0.2 setosa ## 2 4.9 3.0 1.4 0.2 setosa ## 3 4.7 3.2 1.3 0.2 setosa ## 4 4.6 3.1 1.5 0.2 setosa ## 5 5.0 3.6 1.4 0.2 setosa ## 6 5.4 3.9 1.7 0.4 setosa ## 7 4.6 3.4 1.4 0.3 setosa ## 8 5.0 3.4 1.5 0.2 setosa ## 9 4.4 2.9 1.4 0.2 setosa ## 10 4.9 3.1 1.5 0.1 setosa ## 11 5.4 3.7 1.5 0.2 setosa ## 12 4.8 3.4 1.6 0.2 setosa ## 13 4.8 3.0 1.4 0.1 setosa ## 14 4.3 3.0 1.1 0.1 setosa ## 15 5.8 4.0 1.2 0.2 setosa ## 16 5.7 4.4 1.5 0.4 setosa ## 17 5.4 3.9 1.3 0.4 setosa ## 18 5.1 3.5 1.4 0.3 setosa ## 19 5.7 3.8 1.7 0.3 setosa ## 20 5.1 3.8 1.5 0.3 setosa ## 21 5.4 3.4 1.7 0.2 setosa ## 22 5.1 3.7 1.5 0.4 setosa ## 23 4.6 3.6 1.0 0.2 setosa ## 24 5.1 3.3 1.7 0.5 setosa ## 25 4.8 3.4 1.9 0.2 setosa ## 26 5.0 3.0 1.6 0.2 setosa ## 27 5.0 3.4 1.6 0.4 setosa ## 28 5.2 3.5 1.5 0.2 setosa ## 29 5.2 3.4 1.4 0.2 setosa ## 30 4.7 3.2 1.6 0.2 setosa ## 31 4.8 3.1 1.6 0.2 setosa ## 32 5.4 3.4 1.5 0.4 setosa ## 33 5.2 4.1 1.5 0.1 setosa ## 34 5.5 4.2 1.4 0.2 setosa ## 35 4.9 3.1 1.5 0.2 setosa ## 36 5.0 3.2 1.2 0.2 setosa ## 37 5.5 3.5 1.3 0.2 setosa ## 38 4.9 3.6 1.4 0.1 setosa ## 39 4.4 3.0 1.3 0.2 setosa ## 40 5.1 3.4 1.5 0.2 setosa ## 41 5.0 3.5 1.3 0.3 setosa ## 42 4.5 2.3 1.3 0.3 setosa ## 43 4.4 3.2 1.3 0.2 setosa ## 44 5.0 3.5 1.6 0.6 setosa ## 45 5.1 3.8 1.9 0.4 setosa ## 46 4.8 3.0 1.4 0.3 setosa ## 47 5.1 3.8 1.6 0.2 setosa ## 48 4.6 3.2 1.4 0.2 setosa ## 49 5.3 3.7 1.5 0.2 setosa ## 50 5.0 3.3 1.4 0.2 setosa ## 51 7.0 3.2 4.7 1.4 versicolor ## 52 6.4 3.2 4.5 1.5 versicolor ## 53 6.9 3.1 4.9 1.5 versicolor ## 54 5.5 2.3 4.0 1.3 versicolor ## 55 6.5 2.8 4.6 1.5 versicolor ## 56 5.7 2.8 4.5 1.3 versicolor ## 57 6.3 3.3 4.7 1.6 versicolor ## 58 4.9 2.4 3.3 1.0 versicolor ## 59 6.6 2.9 4.6 1.3 versicolor ## 60 5.2 2.7 3.9 1.4 versicolor ## 61 5.0 2.0 3.5 1.0 versicolor ## 62 5.9 3.0 4.2 1.5 versicolor ## 63 6.0 2.2 4.0 1.0 versicolor ## 64 6.1 2.9 4.7 1.4 versicolor ## 65 5.6 2.9 3.6 1.3 versicolor ## 66 6.7 3.1 4.4 1.4 versicolor ## 67 5.6 3.0 4.5 1.5 versicolor ## 68 5.8 2.7 4.1 1.0 versicolor ## 69 6.2 2.2 4.5 1.5 versicolor ## 70 5.6 2.5 3.9 1.1 versicolor ## 71 5.9 3.2 4.8 1.8 versicolor ## 72 6.1 2.8 4.0 1.3 versicolor ## 73 6.3 2.5 4.9 1.5 versicolor ## 74 6.1 2.8 4.7 1.2 versicolor ## 75 6.4 2.9 4.3 1.3 versicolor ## 76 6.6 3.0 4.4 1.4 versicolor ## 77 6.8 2.8 4.8 1.4 versicolor ## 78 6.7 3.0 5.0 1.7 versicolor ## 79 6.0 2.9 4.5 1.5 versicolor ## 80 5.7 2.6 3.5 1.0 versicolor ## 81 5.5 2.4 3.8 1.1 versicolor ## 82 5.5 2.4 3.7 1.0 versicolor ## 83 5.8 2.7 3.9 1.2 versicolor ## 84 6.0 2.7 5.1 1.6 versicolor ## 85 5.4 3.0 4.5 1.5 versicolor ## 86 6.0 3.4 4.5 1.6 versicolor ## 87 6.7 3.1 4.7 1.5 versicolor ## 88 6.3 2.3 4.4 1.3 versicolor ## 89 5.6 3.0 4.1 1.3 versicolor ## 90 5.5 2.5 4.0 1.3 versicolor ## 91 5.5 2.6 4.4 1.2 versicolor ## 92 6.1 3.0 4.6 1.4 versicolor ## 93 5.8 2.6 4.0 1.2 versicolor ## 94 5.0 2.3 3.3 1.0 versicolor ## 95 5.6 2.7 4.2 1.3 versicolor ## 96 5.7 3.0 4.2 1.2 versicolor ## 97 5.7 2.9 4.2 1.3 versicolor ## 98 6.2 2.9 4.3 1.3 versicolor ## 99 5.1 2.5 3.0 1.1 versicolor ## 100 5.7 2.8 4.1 1.3 versicolor ## 101 6.3 3.3 6.0 2.5 virginica ## 102 5.8 2.7 5.1 1.9 virginica ## 103 7.1 3.0 5.9 2.1 virginica ## 104 6.3 2.9 5.6 1.8 virginica ## 105 6.5 3.0 5.8 2.2 virginica ## 106 7.6 3.0 6.6 2.1 virginica ## 107 4.9 2.5 4.5 1.7 virginica ## 108 7.3 2.9 6.3 1.8 virginica ## 109 6.7 2.5 5.8 1.8 virginica ## 110 7.2 3.6 6.1 2.5 virginica ## 111 6.5 3.2 5.1 2.0 virginica ## 112 6.4 2.7 5.3 1.9 virginica ## 113 6.8 3.0 5.5 2.1 virginica ## 114 5.7 2.5 5.0 2.0 virginica ## 115 5.8 2.8 5.1 2.4 virginica ## 116 6.4 3.2 5.3 2.3 virginica ## 117 6.5 3.0 5.5 1.8 virginica ## 118 7.7 3.8 6.7 2.2 virginica ## 119 7.7 2.6 6.9 2.3 virginica ## 120 6.0 2.2 5.0 1.5 virginica ## 121 6.9 3.2 5.7 2.3 virginica ## 122 5.6 2.8 4.9 2.0 virginica ## 123 7.7 2.8 6.7 2.0 virginica ## 124 6.3 2.7 4.9 1.8 virginica ## 125 6.7 3.3 5.7 2.1 virginica ## 126 7.2 3.2 6.0 1.8 virginica ## 127 6.2 2.8 4.8 1.8 virginica ## 128 6.1 3.0 4.9 1.8 virginica ## 129 6.4 2.8 5.6 2.1 virginica ## 130 7.2 3.0 5.8 1.6 virginica ## 131 7.4 2.8 6.1 1.9 virginica ## 132 7.9 3.8 6.4 2.0 virginica ## 133 6.4 2.8 5.6 2.2 virginica ## 134 6.3 2.8 5.1 1.5 virginica ## 135 6.1 2.6 5.6 1.4 virginica ## 136 7.7 3.0 6.1 2.3 virginica ## 137 6.3 3.4 5.6 2.4 virginica ## 138 6.4 3.1 5.5 1.8 virginica ## 139 6.0 3.0 4.8 1.8 virginica ## 140 6.9 3.1 5.4 2.1 virginica ## 141 6.7 3.1 5.6 2.4 virginica ## 142 6.9 3.1 5.1 2.3 virginica ## 143 5.8 2.7 5.1 1.9 virginica ## 144 6.8 3.2 5.9 2.3 virginica ## 145 6.7 3.3 5.7 2.5 virginica ## 146 6.7 3.0 5.2 2.3 virginica ## 147 6.3 2.5 5.0 1.9 virginica ## 148 6.5 3.0 5.2 2.0 virginica ## 149 6.2 3.4 5.4 2.3 virginica ## 150 5.9 3.0 5.1 1.8 virginica
tbl_df(iris)
## Source: local data frame [150 x 5] ## ## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 5.1 3.5 1.4 0.2 setosa ## 2 4.9 3.0 1.4 0.2 setosa ## 3 4.7 3.2 1.3 0.2 setosa ## 4 4.6 3.1 1.5 0.2 setosa ## 5 5.0 3.6 1.4 0.2 setosa ## 6 5.4 3.9 1.7 0.4 setosa ## 7 4.6 3.4 1.4 0.3 setosa ## 8 5.0 3.4 1.5 0.2 setosa ## 9 4.4 2.9 1.4 0.2 setosa ## 10 4.9 3.1 1.5 0.1 setosa ## .. ... ... ... ... ...
其中需要注意的是如果用此指令令成的新物件將會是"tbl" class 是 dplyr 中的一項物件
轉變成以 Petal.Length 這一欄為主進行排列的話(如下圖)
Ans : arrange(iris,Petal.Length)
arrange(dataframe, 要進行排序的項目,….)
PS1:排序的項目可以不只一項,只要依序將項目填入後方即可
EX:
PS2:進行排序的項目預設是遞增,如果需要的是遞減的排列方式請在項目外面加上 desc
EX:
tmpiris<-tbl_df(iris) tmpiris<-rbind(tmpiris,tmpiris[1:5,]) arrange(tmpiris,Sepal.Length,Sepal.Width,Petal.Length, Petal.Width)
## Source: local data frame [155 x 5] ## ## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 4.3 3.0 1.1 0.1 setosa ## 2 4.4 2.9 1.4 0.2 setosa ## 3 4.4 3.0 1.3 0.2 setosa ## 4 4.4 3.2 1.3 0.2 setosa ## 5 4.5 2.3 1.3 0.3 setosa ## 6 4.6 3.1 1.5 0.2 setosa ## 7 4.6 3.1 1.5 0.2 setosa ## 8 4.6 3.2 1.4 0.2 setosa ## 9 4.6 3.4 1.4 0.3 setosa ## 10 4.6 3.6 1.0 0.2 setosa ## .. ... ... ... ... ...
dim(tmpiris)
## [1] 155 5
dim(distinct(tmpiris))
## [1] 149 5
如果我想要從上面這比資料中抽出六筆資料的話可以怎麼做
sample_n(iris,6)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 70 5.6 2.5 3.9 1.1 versicolor ## 96 5.7 3.0 4.2 1.2 versicolor ## 106 7.6 3.0 6.6 2.1 virginica ## 141 6.7 3.1 5.6 2.4 virginica ## 119 7.7 2.6 6.9 2.3 virginica ## 56 5.7 2.8 4.5 1.3 versicolor
slice(iris,c(1,3,4,5))
如果我想要取出 Sepal.Length 欄位等於 7.7 的那幾筆資料
filter(iris,Sepal.Length == 7.7)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 7.7 3.8 6.7 2.2 virginica ## 2 7.7 2.6 6.9 2.3 virginica ## 3 7.7 2.8 6.7 2.0 virginica ## 4 7.7 3.0 6.1 2.3 virginica
filter(iris,Sepal.Length == 7.7,Sepal.Width ==2.8)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species ## 1 7.7 2.8 6.7 2 virginica
select(iris,c(Petal.Width,Species))
## Petal.Width Species ## 1 0.2 setosa ## 2 0.2 setosa ## 3 0.2 setosa ## 4 0.2 setosa ## 5 0.2 setosa ## 6 0.4 setosa ## 7 0.3 setosa ## 8 0.2 setosa ## 9 0.2 setosa ## 10 0.1 setosa ## 11 0.2 setosa ## 12 0.2 setosa ## 13 0.1 setosa ## 14 0.1 setosa ## 15 0.2 setosa ## 16 0.4 setosa ## 17 0.4 setosa ## 18 0.3 setosa ## 19 0.3 setosa ## 20 0.3 setosa ## 21 0.2 setosa ## 22 0.4 setosa ## 23 0.2 setosa ## 24 0.5 setosa ## 25 0.2 setosa ## 26 0.2 setosa ## 27 0.4 setosa ## 28 0.2 setosa ## 29 0.2 setosa ## 30 0.2 setosa ## 31 0.2 setosa ## 32 0.4 setosa ## 33 0.1 setosa ## 34 0.2 setosa ## 35 0.2 setosa ## 36 0.2 setosa ## 37 0.2 setosa ## 38 0.1 setosa ## 39 0.2 setosa ## 40 0.2 setosa ## 41 0.3 setosa ## 42 0.3 setosa ## 43 0.2 setosa ## 44 0.6 setosa ## 45 0.4 setosa ## 46 0.3 setosa ## 47 0.2 setosa ## 48 0.2 setosa ## 49 0.2 setosa ## 50 0.2 setosa ## 51 1.4 versicolor ## 52 1.5 versicolor ## 53 1.5 versicolor ## 54 1.3 versicolor ## 55 1.5 versicolor ## 56 1.3 versicolor ## 57 1.6 versicolor ## 58 1.0 versicolor ## 59 1.3 versicolor ## 60 1.4 versicolor ## 61 1.0 versicolor ## 62 1.5 versicolor ## 63 1.0 versicolor ## 64 1.4 versicolor ## 65 1.3 versicolor ## 66 1.4 versicolor ## 67 1.5 versicolor ## 68 1.0 versicolor ## 69 1.5 versicolor ## 70 1.1 versicolor ## 71 1.8 versicolor ## 72 1.3 versicolor ## 73 1.5 versicolor ## 74 1.2 versicolor ## 75 1.3 versicolor ## 76 1.4 versicolor ## 77 1.4 versicolor ## 78 1.7 versicolor ## 79 1.5 versicolor ## 80 1.0 versicolor ## 81 1.1 versicolor ## 82 1.0 versicolor ## 83 1.2 versicolor ## 84 1.6 versicolor ## 85 1.5 versicolor ## 86 1.6 versicolor ## 87 1.5 versicolor ## 88 1.3 versicolor ## 89 1.3 versicolor ## 90 1.3 versicolor ## 91 1.2 versicolor ## 92 1.4 versicolor ## 93 1.2 versicolor ## 94 1.0 versicolor ## 95 1.3 versicolor ## 96 1.2 versicolor ## 97 1.3 versicolor ## 98 1.3 versicolor ## 99 1.1 versicolor ## 100 1.3 versicolor ## 101 2.5 virginica ## 102 1.9 virginica ## 103 2.1 virginica ## 104 1.8 virginica ## 105 2.2 virginica ## 106 2.1 virginica ## 107 1.7 virginica ## 108 1.8 virginica ## 109 1.8 virginica ## 110 2.5 virginica ## 111 2.0 virginica ## 112 1.9 virginica ## 113 2.1 virginica ## 114 2.0 virginica ## 115 2.4 virginica ## 116 2.3 virginica ## 117 1.8 virginica ## 118 2.2 virginica ## 119 2.3 virginica ## 120 1.5 virginica ## 121 2.3 virginica ## 122 2.0 virginica ## 123 2.0 virginica ## 124 1.8 virginica ## 125 2.1 virginica ## 126 1.8 virginica ## 127 1.8 virginica ## 128 1.8 virginica ## 129 2.1 virginica ## 130 1.6 virginica ## 131 1.9 virginica ## 132 2.0 virginica ## 133 2.2 virginica ## 134 1.5 virginica ## 135 1.4 virginica ## 136 2.3 virginica ## 137 2.4 virginica ## 138 1.8 virginica ## 139 1.8 virginica ## 140 2.1 virginica ## 141 2.4 virginica ## 142 2.3 virginica ## 143 1.9 virginica ## 144 2.3 virginica ## 145 2.5 virginica ## 146 2.3 virginica ## 147 1.9 virginica ## 148 2.0 virginica ## 149 2.3 virginica ## 150 1.8 virginica
select(iris,c(-Petal.Width,-Species))
## Sepal.Length Sepal.Width Petal.Length ## 1 5.1 3.5 1.4 ## 2 4.9 3.0 1.4 ## 3 4.7 3.2 1.3 ## 4 4.6 3.1 1.5 ## 5 5.0 3.6 1.4 ## 6 5.4 3.9 1.7 ## 7 4.6 3.4 1.4 ## 8 5.0 3.4 1.5 ## 9 4.4 2.9 1.4 ## 10 4.9 3.1 1.5 ## 11 5.4 3.7 1.5 ## 12 4.8 3.4 1.6 ## 13 4.8 3.0 1.4 ## 14 4.3 3.0 1.1 ## 15 5.8 4.0 1.2 ## 16 5.7 4.4 1.5 ## 17 5.4 3.9 1.3 ## 18 5.1 3.5 1.4 ## 19 5.7 3.8 1.7 ## 20 5.1 3.8 1.5 ## 21 5.4 3.4 1.7 ## 22 5.1 3.7 1.5 ## 23 4.6 3.6 1.0 ## 24 5.1 3.3 1.7 ## 25 4.8 3.4 1.9 ## 26 5.0 3.0 1.6 ## 27 5.0 3.4 1.6 ## 28 5.2 3.5 1.5 ## 29 5.2 3.4 1.4 ## 30 4.7 3.2 1.6 ## 31 4.8 3.1 1.6 ## 32 5.4 3.4 1.5 ## 33 5.2 4.1 1.5 ## 34 5.5 4.2 1.4 ## 35 4.9 3.1 1.5 ## 36 5.0 3.2 1.2 ## 37 5.5 3.5 1.3 ## 38 4.9 3.6 1.4 ## 39 4.4 3.0 1.3 ## 40 5.1 3.4 1.5 ## 41 5.0 3.5 1.3 ## 42 4.5 2.3 1.3 ## 43 4.4 3.2 1.3 ## 44 5.0 3.5 1.6 ## 45 5.1 3.8 1.9 ## 46 4.8 3.0 1.4 ## 47 5.1 3.8 1.6 ## 48 4.6 3.2 1.4 ## 49 5.3 3.7 1.5 ## 50 5.0 3.3 1.4 ## 51 7.0 3.2 4.7 ## 52 6.4 3.2 4.5 ## 53 6.9 3.1 4.9 ## 54 5.5 2.3 4.0 ## 55 6.5 2.8 4.6 ## 56 5.7 2.8 4.5 ## 57 6.3 3.3 4.7 ## 58 4.9 2.4 3.3 ## 59 6.6 2.9 4.6 ## 60 5.2 2.7 3.9 ## 61 5.0 2.0 3.5 ## 62 5.9 3.0 4.2 ## 63 6.0 2.2 4.0 ## 64 6.1 2.9 4.7 ## 65 5.6 2.9 3.6 ## 66 6.7 3.1 4.4 ## 67 5.6 3.0 4.5 ## 68 5.8 2.7 4.1 ## 69 6.2 2.2 4.5 ## 70 5.6 2.5 3.9 ## 71 5.9 3.2 4.8 ## 72 6.1 2.8 4.0 ## 73 6.3 2.5 4.9 ## 74 6.1 2.8 4.7 ## 75 6.4 2.9 4.3 ## 76 6.6 3.0 4.4 ## 77 6.8 2.8 4.8 ## 78 6.7 3.0 5.0 ## 79 6.0 2.9 4.5 ## 80 5.7 2.6 3.5 ## 81 5.5 2.4 3.8 ## 82 5.5 2.4 3.7 ## 83 5.8 2.7 3.9 ## 84 6.0 2.7 5.1 ## 85 5.4 3.0 4.5 ## 86 6.0 3.4 4.5 ## 87 6.7 3.1 4.7 ## 88 6.3 2.3 4.4 ## 89 5.6 3.0 4.1 ## 90 5.5 2.5 4.0 ## 91 5.5 2.6 4.4 ## 92 6.1 3.0 4.6 ## 93 5.8 2.6 4.0 ## 94 5.0 2.3 3.3 ## 95 5.6 2.7 4.2 ## 96 5.7 3.0 4.2 ## 97 5.7 2.9 4.2 ## 98 6.2 2.9 4.3 ## 99 5.1 2.5 3.0 ## 100 5.7 2.8 4.1 ## 101 6.3 3.3 6.0 ## 102 5.8 2.7 5.1 ## 103 7.1 3.0 5.9 ## 104 6.3 2.9 5.6 ## 105 6.5 3.0 5.8 ## 106 7.6 3.0 6.6 ## 107 4.9 2.5 4.5 ## 108 7.3 2.9 6.3 ## 109 6.7 2.5 5.8 ## 110 7.2 3.6 6.1 ## 111 6.5 3.2 5.1 ## 112 6.4 2.7 5.3 ## 113 6.8 3.0 5.5 ## 114 5.7 2.5 5.0 ## 115 5.8 2.8 5.1 ## 116 6.4 3.2 5.3 ## 117 6.5 3.0 5.5 ## 118 7.7 3.8 6.7 ## 119 7.7 2.6 6.9 ## 120 6.0 2.2 5.0 ## 121 6.9 3.2 5.7 ## 122 5.6 2.8 4.9 ## 123 7.7 2.8 6.7 ## 124 6.3 2.7 4.9 ## 125 6.7 3.3 5.7 ## 126 7.2 3.2 6.0 ## 127 6.2 2.8 4.8 ## 128 6.1 3.0 4.9 ## 129 6.4 2.8 5.6 ## 130 7.2 3.0 5.8 ## 131 7.4 2.8 6.1 ## 132 7.9 3.8 6.4 ## 133 6.4 2.8 5.6 ## 134 6.3 2.8 5.1 ## 135 6.1 2.6 5.6 ## 136 7.7 3.0 6.1 ## 137 6.3 3.4 5.6 ## 138 6.4 3.1 5.5 ## 139 6.0 3.0 4.8 ## 140 6.9 3.1 5.4 ## 141 6.7 3.1 5.6 ## 142 6.9 3.1 5.1 ## 143 5.8 2.7 5.1 ## 144 6.8 3.2 5.9 ## 145 6.7 3.3 5.7 ## 146 6.7 3.0 5.2 ## 147 6.3 2.5 5.0 ## 148 6.5 3.0 5.2 ## 149 6.2 3.4 5.4 ## 150 5.9 3.0 5.1
如果想要ㄧ個新欄位是 Petal.Length - Petal.Width 且欄位名稱是 Petal
tmpiris<-mutate(iris,Petal = Petal.Length - Petal.Width) head(tmpiris)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species Petal ## 1 5.1 3.5 1.4 0.2 setosa 1.2 ## 2 4.9 3.0 1.4 0.2 setosa 1.2 ## 3 4.7 3.2 1.3 0.2 setosa 1.1 ## 4 4.6 3.1 1.5 0.2 setosa 1.3 ## 5 5.0 3.6 1.4 0.2 setosa 1.2 ## 6 5.4 3.9 1.7 0.4 setosa 1.3
如果我想要 Sepal.Length 的 mean、Sepal.Width 的標準差、Petal.Length 的最大值
summarise(iris,Sepal.Length.mean = mean(Sepal.Length), Sepal.Width.sd = sd(Sepal.Width), Petal.Length.max = max(Petal.Length))
## Sepal.Length.mean Sepal.Width.sd Petal.Length.max ## 1 5.843333 0.4358663 6.9
如果想知道依照最後ㄧ欄去分類後 Sepal.Width 的平均跟變異數
該如何計算?
iris_sp <- group_by(iris,Species) summarise(iris_sp,Sepal.Width.mean = mean(Sepal.Width),Sepal.Width.sd = sd(Sepal.Width))
## Source: local data frame [3 x 3] ## ## Species Sepal.Width.mean Sepal.Width.sd ## 1 setosa 3.428 0.3790644 ## 2 versicolor 2.770 0.3137983 ## 3 virginica 2.974 0.3224966
## Source: local data frame [3 x 3] ## ## Species Sepal.Width.mean Sepal.Width.sd ## 1 setosa 3.428 0.3790644 ## 2 versicolor 2.770 0.3137983 ## 3 virginica 2.974 0.3224966
## Source: local data frame [2 x 2] ## ## Species Sepal.Width.mean ## 1 setosa 3.428 ## 2 versicolor 2.770
## Source: local data frame [2 x 2] ## ## Species Sepal.Width.sd ## 1 versicolor 0.3137983 ## 2 virginica 0.3224966
如果想將上述資料合併成下面的形式該如何處理?
full_join(part1,part2)
## Joining by: "Species"
## Source: local data frame [3 x 3] ## ## Species Sepal.Width.mean Sepal.Width.sd ## 1 setosa 3.428 NA ## 2 versicolor 2.770 0.3137983 ## 3 virginica NA 0.3224966
inner_join(part1,part2)
## Joining by: "Species"
## Source: local data frame [1 x 3] ## ## Species Sepal.Width.mean Sepal.Width.sd ## 1 versicolor 2.77 0.3137983
left_join(part1,part2)
## Joining by: "Species"
## Source: local data frame [2 x 3] ## ## Species Sepal.Width.mean Sepal.Width.sd ## 1 setosa 3.428 NA ## 2 versicolor 2.770 0.3137983
right_join(part1,part2)
## Joining by: "Species"
## Source: local data frame [2 x 3] ## ## Species Sepal.Width.mean Sepal.Width.sd ## 1 versicolor 2.77 0.3137983 ## 2 virginica NA 0.3224966
semi_join(part1,part2)
## Joining by: "Species"
## Source: local data frame [1 x 2] ## ## Species Sepal.Width.mean ## 1 versicolor 2.77
anti_join(part1,part2)
## Joining by: "Species"
## Source: local data frame [1 x 2] ## ## Species Sepal.Width.mean ## 1 setosa 3.428
tbl_df、arrange、distinct
sample_n、filter、 select 、mutate
summarise、group_by
inner_join、left_join、right_join、full_join、semi_join、anti_join