R数据处理 | dplyr | plyr | reshape | Tidyverse | 练习

这些包的重要性不必多言,以前没有深度总结过,每次要用的时候都得查教程。

名字由来:d代表dataframe - plyr是英文钳子plier的谐音

 

dplyr

dplyr常用函数【最常用的也就是group_by和summarise配合使用了,其他的普通代码都能实现

arrange

arrange(aapl, -Volume) # 对appl数据按照字段Volume进行降序排序

aapl %>% arrange(-Volume) # 管道符 %>% 可读性更强

select

aapl %>% select(Date, Close, Volume) # 选取 Date、Close和Volume三列

aapl %>% select(-c("Open", "High", "Low"))  # 排除Open、High、Low,选择剩下的字段的数据

filter

aapl %>% filter(Close>=150)  # #从数据中选择appl股价大于150美元的交易数据

aapl %>% filter((Close>=150) & (Close>Open)) # 股价大于150美元 且 收盘价大于开盘价 的交易数据

mutate

aapl %>% mutate(maxDif = High-Low, log_maxDif=log(maxDif))  # 将最好价High减去最低价Low的结果定义为maxDif,并取log

aapl  %>% mutate(n=row_number()) # 得到记录的位置(行数)

group_by

weather %>% group_by(city) 

summarise

weather %>% group_by(city) %>% summarise(mean_temperature = mean(temperature)) # 按照城市分组,按照城市分别计算平均温度

 

plyr

plyr重要函数【map_values是唯一常用的函数】

 

reshape

reshape重要函数【melt是唯一常用的函数】

 

Tidyverse

tibble vs dataframe

如果你是用R base,那就data.frame吧如果你是要用tidyverse,那就果断tibble,当然tiverse也支持data.frame二者基本是一样的数据结构,tibble多了一些优化设计,只是让你用起来更好,并没有增加使用负担。再一个就是,tidyverse是大势所趋,是比R base好用了数倍不止,比Python的pandas还好用,我建议用tidyverse入门R语言。

dataframe是R原生的,很老了,有很多毛病,例如性能一般、语法书写臃肿、可读性不强,后来有第三方出于以上考虑改进了dataframe,就派生出两个典型系列的包data.table和tibble,data.table侧重性能,tibble侧重语法可读性(优雅,主要是tibble有一系列配套的Rstudio全家桶)。另外补充,tibble是支持嵌套表的,dataframe和data.table并没有。近期,data.table和tibble有融合的趋势,Rstudio团队和一些其他团队,让tibble能尽量使用data.table的引擎(底层是C语言)。

 

 

参考:

Aggregating and analyzing data with dplyr

R语言dplyr包实操

R tips:使用!!来增加dplyr的可操作性

忘记awk吧,dplyr它不香吗?

tidyverse —— tidyr包

 

posted @ 2021-02-24 16:16  Life·Intelligence  阅读(581)  评论(0编辑  收藏  举报
TOP