学习小组Day6笔记-田田田

  1. 镜像设置
    Tool-packages 有一个cran镜像,但如果要下载bioconductor的包,是没办法用的,所以要配置一个可以下载bioconductor的镜像。
options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
#对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
#对应中科大源
options()$repos #配置成功的话,查询结果为清华镜像
options()$Bioc_mirror #配置成功的话,查询结果为中科大镜像

但这种方法下次打开需要重新设置,所以还需要高级模式的设置

file.edit('~/.Rprofile')
#启动编辑文件
options("repos"=c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
#添加镜像,保存,退出

重启查询options,是对应的镜像
2.安装

install.packages("包“)   
或者
BiocManager::install("包")
#取决于你要安装的包在哪里

3.加载

library(包)
require(包)
  1. dplyr五个基础函数
    4.1 matate(),新增列
mutate(test, new=Sepal.Length*Sepal.Width)

4.2 select(),按列筛选

  • 按列号筛选
select(test,1)
#第一列
select(test, c(1,5))
#第一列和第五列
  • 按列名筛选
select(test, Sepal.Length)
select(test, Petal.Length, Petal.Width)
或者
vars<- c("Petal.Length","Petal.Width")
select(test, one_of(vars))
#筛选出vars中的向量

4.3 filter(),筛选行

filter(test, Species=="setosa")
filter(test, Species=="setosa"&Sepal.Length>5)
filter(test, Species%in%c("setosa","versicolor"))
#筛选出这两行

4.4 arrange(),按某1列或某几列对整个表格进行排序

arrange(test,Sepal.Length)
#默认从小到大排列
arrange(test, desc(Sepal.Length))
#用desc进行从大到小排列

4.5 summarise() 汇总

summarise(test, mean(Sepal.Length), sd(Sepal.Length))
#计算Sepal.Length的平均值和标准差
group_by(test, Species)
summarise(group_by(test, Species), mean(Sepal.Length), sd(Sepal.Length))
#按照Species分组,计算每组的平均值和标准差

5 dplyr 两个实用技巧
5.1 管道操作 %>%(cmd/ctr+shift+M)

test %>%
  group_by(Species) %>% 
  summarise(mean(Sepal.Length),sd(Sepal.Length))

5.2 count统计某列的unique值

count(test,Species)
  1. dplyr处理关系数据
options(stringsAsFactors = F)
test1<- data.frame(x=c('b','e','f','x'),
                  z=c('A','B','C','D'),
                  stringsAsFactors = F)
test1 
test2<- data.frame(x=c('a','b','c','d','e','f'),
                   y=c(1,2,3,4,5,6),
                   stringsAsFactors = F)
test2

image.png

image.png

6.1 内连
inner_join(test1, test2, by="x")
取交集
6.2 左连
left_join(test1,test2,by='x')
以test1的x为准
left_join(test2,test2,by='x')
以test2的x为准
6.3 全连
full_join(test1,test2,by='x')
取并集
6.4 半连接
semi_join(x=test1,y=test2,by='x')
返回能够与y表匹配的x表中的所有内容
image.png

6.5 反连接
anti_join(x=test2,y=test1,by='x')
返回无法与y表匹配的x表中的所有内容
image.png

anti_join(x=test1,y=test2, by='x')
image.png

注意x和y表的先后顺序非常重要,test1,2,顺序变了,结果完全相反
6.6 简单合并

test1<-data.frame(x=c(1,2,3,4),y=c(10,20,30,40))
test1
test2<-data.frame(x=c(5,6),y=c(50,60))
test2
test3<-data.frame(z=c(100,200,300,400))
test3
bind_rows(test1,test2)
bind_cols(test1,test3)
image.png

image.png

·

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

推荐阅读更多精彩内容