04 4 dplyr包高階函式(二)高效資料清理

2021-07-16 18:13:37 字數 1890 閱讀 3924

dplyr高階函式

join(資料集之間的鏈結)

left_join:       left_join(x1,x2,by = "name")           #保留全部x1表

inner_join:     inner_jooin(x1.x2,by = "name")     #保留x2,x1的交集

semi_join:      semi_join(x,y,by = "name")            #保留x1表中全部匹配到的集合

anti_join:        anti_join(x1,x2,by = "name")       #保留x1中沒有匹配到的集合

group by  分組彙總

by_color <- group_by(tbl,color)

summatise(by_color,total = sum(value))

案例:與summatise同用

t <- data.frame(color = c("blue","blue","black","red","blue"),

nu = c(2,5,6,9,1))

by_color <- group_by(t,color)

summarise(by_color,total = sum(nu))

%>%   管道函式

%>%或者 %.%將上乙個函式的輸出作為下乙個函式的輸入

order <- read.csv("d:/r/dplyr-data/order.csv")

order <- tbl_df(order)

class(order)

order_new <- mutate(order,

month = substr(orderdate,6,7))

order_month = group_by(order_new,month)

summarise(order_month,count = n())

##管道函式需要一次執行

order  %.%   mutate(month = substr(orderdate,6,7)) 

%.%   group_by(month) 

%.%   summarise(count = n())

其他函式  do  colwise

do 篩選資料記錄

do(data,fun(.))

order %>% group_by(year) %>% arrange(desc(totalprice)) %>% do(.,head(,.2))

colwise(自動對沒一列呼叫函式)

library(plyr)

colwise(funtion)(data.frame)

colwise(round)(iris[,1:4]) %>% head

mysql資料庫的鏈結(dplyr)

src = src_mysql("sqlbook")  #連線資料庫

ordersql = tbl(src,from="orders")  #連線表

R高階(1) dplyr中的Select函式

大神hadley wickham的dplyr包更新到了1.0.0版 今天 一下裡面的神函式select.首先檢查你是否安裝了最新版本的dplyr版本 packageversion dplyr 1 0.8.3 趕緊更新 install.packages dplyr 搞定,1.0.0版 select函式...

關於資料處理包dplyr的函式用法總結

dplyr專注處理dataframe物件,並提供更穩健的與其它資料庫物件間的介面。一 5個關鍵的資料處理函式 select 返回列的子集 filter 返回行的子集 arrange 根據乙個或多個變數對行排序。mutate 使用已有資料建立新的列 summarise 對各個群組彙總計算並返回一維結果...

高階函式 閉包

f用於 的格式化,內是變數或函式的某個形參 s這種格式化不行 def func name 小明 print f good morning,func def func name print f good morning,func 小明 分割線 高階函式 引數為函式 閉包 返回值為函式 裝飾器 返回值為...