arrange(.data,...) : 该函数可以按照列变量对数据进行排序
# 把数据按得分和助攻数降序排列 descpts),0);">ast)## ? rk name ast pts stl tov
## 1 ?1 库里 ? 6 ?46 ? 2 ? 2
## 2 ?2 库里 ? 5 ?37 ? 2 ? 4
## 3 ?3 库里 ? 8 ?17 ? 1 ? 2
## 4 ?4 库里 ? 9 ?27 ? 2 ? 3
## 5 ?5 库里 ?15 ?21 ? 3 ? 3
## 6 ?6 库里 ? 7 ?39 ? 2 ? 4
arrange 的用法同plyr包中的arrange ,想要详细了解参见前期文章数据处理之——plyr
distinct
# 把数据按球员进行去重处理 distinctname## ? rk name ast pts stl tov
## 1 ?1 库里 ? 6 ?46 ? 2 ? 2
## 2 ?1 康利 ? 4 ?22 ? 2 ? 1
## 3 ?1 保罗 ?13 ?12 ? 2 ? 5
## 4 ?1 沃尔 ?13 ?15 ? 1 ? 3
## 5 ?1 威少 ?14 ?13 ? 1 ? 3
## 6 ?1 欧文 ? 5 ?35 ? 2 ? 6
值得特别注意的是,用该函数进行数据列的去重处理时会仅保留最先出现的数据行。
mutate/transmute
mutate(.data,...) : 该函数增加新的数据列,并保留原先的数据列
transmute(.data,...) : 该函数仅新增数据列,不保留原先的数据列
## 计算球员的助攻失误比以及效率值 mutateatr ifelsetov 0,0);">roundast/tov,2NAper = pts+rebstlblk)-fga-fgmftaftm## ? rk player wl ? ? ? ? ? ? match gs min ? fgp fgm fga ? p3p p3m p3a ? ?ftp
## 1 ?1 ? 库里 胜 ? 灰熊104-125勇士 ?1 ?30 62.5% ?15 ?24 52.6% ?10 ?19 100.0%
## 2 ?2 ? 库里 胜 ? ? 马刺86-92勇士 ?1 ?35 59.1% ?13 ?22 44.4% ? 4 ? 9 100.0%
## 3 ?3 ? 库里 胜 ? ?灰熊99-100勇士 ?1 ?34 31.8% ? 7 ?22 21.4% ? 3 ?14 ? ? ?
## 4 ?4 ? 库里 胜 ? 马刺101-112勇士 ?1 ?36 57.9% ?11 ?19 42.9% ? 3 ? 7 100.0%
## 5 ?5 ? 库里 负 森林狼124-117勇士 ?1 ?43 28.0% ? 7 ?25 28.6% ? 4 ?14 100.0%
## 6 ?6 ? 库里 胜 开拓者111-136勇士 ?1 ?35 61.9% ?13 ?21 69.2% ? 9 ?13 100.0%
## ? ftm fta reb oreb dreb ast stl blk tov pf pts ?atr per
## 1 ? 6 ? 6 ? 4 ? ?1 ? ?3 ? 6 ? 2 ? 0 ? 2 ?2 ?46 3.00 ?47
## 2 ? 7 ? 7 ? 5 ? ?0 ? ?5 ? 5 ? 2 ? 0 ? 4 ?4 ?37 1.25 ?36
## 3 ? 0 ? 0 ? 9 ? ?0 ? ?9 ? 8 ? 1 ? 0 ? 2 ?1 ?17 4.00 ?18
## 4 ? 2 ? 2 ? 5 ? ?0 ? ?5 ? 9 ? 2 ? 0 ? 3 ?2 ?27 3.00 ?32
## 5 ? 3 ? 3 ? 6 ? ?2 ? ?4 ?15 ? 3 ? 0 ? 3 ?4 ?21 5.00 ?24
## 6 ? 4 ? 4 ? 6 ? ?2 ? ?4 ? 7 ? 2 ? 1 ? 4 ?2 ?39 1.75 ?43
transmute## ? ?atr per
## 1 3.00 ?47
## 2 1.25 ?36
## 3 4.00 ?18
## 4 3.00 ?32
## 5 5.00 ?24
## 6 1.75 ?43
R的基本函数中transform 也有类似mutate 的功能,但是mutate 的优势是可以在新增的数据列的基础上,继续使用新增的数据列生成新的数据列,而transform 不支持,它会报错。这部分没做数据演示,可自行尝试。
summarise
|