学习小组Day6笔记--monocyte

加载镜像及

  1. 安装加载三部曲
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))  #加CRAN载镜像,对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")  #加Bioconductor载镜像,对应中科大源
install.packages("dplyr") #安装dplyr
library(dplyr) #加载dplyr
  1. 示例数据
    test <- iris[c(1:2,51:52,101:102),]
    示例数据为内置数据集iris的简化版,ji第1,2,51,52,101,102行的数据赋值test

dplyr五个基础函数

  1. mutate(),新增列
    mutate(test, new = Sepal.Length * Sepal.Width) # mutate(文件, 列名 = 数据)

  2. select(),按列号/列名筛选
    select(test,列号/列名)

  3. filter()筛选行

  4. arrange(),按某1列或某几列对整个表格进行排序
    arrange(test, Sepal.Length)#默认从小到大排序 arrange(test, desc(Sepal.Length))#desc:降序排列

  5. summarise():汇总

summarise(test,mean(Sepal.Length),sd(Sepal.Width))
#分别计算test变量中Sepal.Length和Sepal.Width列的平均值和方差
group_by(test,species) 
#对于test变量中的species列进行分组,相同的放在一起
summarise(group_by(test,Species),mean(Sepal.Length),sd(Sepal.Width))
#分别计算test变量不同物种中Sepal.Length和Sepal.Width列的平均值和方差

dplyr两个实用技能

  1. 管道操作 %>% (cmd/ctr + shift + M)

加载任意一个tidyverse包即可用管道符号

作用?把数据加载到%>%后面的的条件中?

  1. count统计某列的unique值
    count(数据,列名) #统计Species的种类以及数量

dplyr处理关系数据

即将2个表进行连接,注意:不要引入factor

options(stringsAsFactors = F) # options 设置环境;stringsAsFactors = F # 不要引入factor
test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)

1.內连inner_join,取交集
inner_join(test1, test2, by = "x")
2.左连left_join
left_join(test1, test2, by = 'x')
3.全连full_join
full_join( test1, test2, by = 'x')
4.半连接:返回能够与y表匹配的x表所有记录semi_join
semi_join(x = test1, y = test2, by = 'x')
5.反连接:返回无法与y表匹配的x表的所记录anti_join
anti_join(x = test2, y = test1, by = 'x')
6.简单合并
bind_rows(test1, test2) #行合并,需要两个表格列数相同 bind_cols(test1, test3) #列合并,需要有相同的行数
相当于base包里的cbind()函数和rbind()函数

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。