R语言: dplyr

2023-07-31  本文已影响0人  LET149

1. 官方

https://dplyr.tidyverse.org/index.html

image.png

2. 操作手册

https://dplyr.tidyverse.org/

image.png

3. 教程

https://zhuanlan.zhihu.com/p/36546189
https://zhuanlan.zhihu.com/p/358167377
https://www.jianshu.com/p/f8b9e6bd52a2

4. 函数

4.1 arrange()

arrange(dataframe_name, colname)

按照数据框的某列内容对数据框进行重新排列;列名不用加引号

kk <- iris

arrange(kk, Sepal.Length) %>% head()   '#按照某列名对数进行 升序 排列;示例一
kk %>% arrange(Sepal.Length) %>% head()   #按照某列名对数进行 升序 排列;示例一

arrange(kk, -Sepal.Length) %>% head()   #按照某列名对数进行 降序 排列;示例二
kk %>% arrange(-Sepal.Length) %>% head()   #按照某列名对数进行 降序 排列;示例二
示例一
示例二
4.2 select()
    1. select(dataframe_name, colname_1, colname_2): 正向选择要保留的列;列名不用加引号
    1. select(dataframe_name, -c("colname_1", "colname_2")): 反向选择要保留的列;此时列名位于向量内,因此列名需要加引号

根据列名对数据框进行选取,可选择多列,新数据框列顺序为选择时列顺序

kk <- iris

select(kk, Sepal.Length, Species, Petal.Length) %>% head()   '#选择三列,示例一
kk %>% select(Sepal.Length, Species, Petal.Length) %>% head()   #选择三列,示例一
示例一
4.3 filter()
    1. filter(dataframe_name, colname_1 >= number): 根据其中的一列进行选择
    1. filter(dataframe_name, (colname_1 >= number_1) & (column_2 < number_2)): 根据其中的两列进行统一选择

根据某列内容对数据框进行选取

kk <- iris
kk <- arrange(kk, Sepal.Length)

filter(kk, Sepal.Length>=5) %>% head()   '#选取 Sepal.Length 大于等于5 的列,示例一
kk %>% filter(Sepal.Length>=5) %>% head()   #选取 Sepal.Length 大于等于5 的列,示例一
示例一
4.4 mutate()

mutate(dataframe_name, new_colname=colname_1+colname_2): 对现有列进行操作,产生新列;而且可以在同语句中同时对产生的新列进行操作

kk <- iris

mutate(kk, minus=Sepal.Length-Petal.Length) %>% head()   '#对现有列进行操作,产生新列,示例一
mutate(kk, minus=Sepal.Length-Petal.Length, log_minus=log2(minus)) %>% head()   #同时对产生的新列进行操作
示例一
示例二

使用函数 row_number() 可以将行号变成其中的一列

mutate(kk, row_name=row_number()) %>% head()

image.png
4.5 group_by() + summarise()

按照列数据进行分组并进行统计操作

    1. group_by(dataframe, Colume_name): 按照某列对数据进行分组
    1. summarise(dataframe, new=mean(Petal.Width)): 按照分组对数据某列内容进行统计操作
kk <- iris

pp <- group_by(kk, Species)   '#按照 Species  这一列对数据进行分组;示例一
class(pp)
dim(pp)
head(pp)

ff <- summarise(pp, new=mean(Petal.Width))   #根据某列的分组对其他某列数据进行统计操作,示例二
class(pp)
dim(pp)
head(pp)
示例一
示例二
上一篇 下一篇

猜你喜欢

热点阅读