数据框概括
数据框是由n个相同长度的向量按列合并的一张表,每列的数据类型可以不同。
数据框是一个特殊的list,list的每个元素都是长度相同的向量。
1 | # stringsAsFactors = FALSE,字符串不会被转换成fator类型 |
数据框函数
数据集及包
1 | > library(nycflights13) |
管道函数 %>%
1 | x %>% f(y) 等价于 f(x,y) |
筛选行
1 | subset(flights,flights$month==1&flights$day==1) |
选择列
1 | # 按列的名称进行筛选,可以添加任意多个列名称 |
增加列
1 | mutate(flights,gain =arr_delay -dep_delay,speed =distance /air_time *60) |
数据框整形
排序
1 | # arrange函数,默认升序 |
重命名行名、列名
1 | # 行名称 |
合并、拆分
reshape2:melt,dcast
1 | > head(airquality) |
tidyr:gather,spread
1 | # 将Solar.R,Wind,Temp三列合并为一列 |
tidyr:unite,separate
1 | > a <- data.frame(col_name=c('a-b','d-e-f','1-2-3-4')) |
数据框合并
1 | merge(users,allorders,by="uid",all.x=T) |
分组、聚合
group_by,summarise
1 | # 根据飞机编号进行分组 |
tapply
1 | # 多个分组变量(itemName,DATE),一个聚合变量(order_id),一个聚合函数(length) |
aggregate
1 | # 多个分组变量(DATE),多个聚合变量(16:22),一个聚合函数(sum) |
That’s all.
Happy writing!