学习小组day6笔记--思亮
2020-03-07 本文已影响0人
思亮笔记
学习R包
1.镜像设置
file.edit('~/.Rprofile')
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
- Rstudio有两个重要的配置文件:(Rstudio开启运行时先会查看配置文件)
- .Renviron 设置R的环境变量
- .Rprofile 一种代码文件
- options函数用于设置R运行过程中的一些选项设置
2.安装
- make sure the reliability of your Internet
-
install.packages(" packagesName")
安装的包来自CRAN网站 -
BiocManager::install("packages")
安装的包来自Bioconductor
3. 加载
library(packagename)
和 require(packagename
#安装加载三部曲
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
install.packages("dplyr")
library(dplyr)
test <- iris[c(1:2,51:52,101:102),]
4.dplyr五个基本函数
- mutate(),新增列
mutate(test, New = c(1,2,3,4,5,6))
- select(),按列筛选
select(test,1) #根据索引筛选
select(test,Sepal.Length) #根据列名筛选
select(test,c(1,5)) #借用向量,按多个索引筛选
- filter(),按行筛选
filter(test, Species == "setosa")
filter(test, Species == "setosa"&Sepal.Length > 5)
filter(test, Species %in% c("Setosa","versicolor"))
- arrange(),按某一列或某几列对整个表格进行排序
arrange(test, Sepal.Length)
arrange(test, desc(Sepal.Length))
- summarise(),汇总
summarise(test,mean(Sepal.Length),sd(Sepal.Length))
group_by(test,Species)
summarise(group_by(test,Species),mean(Sepal.Length),sd(Sepal.Length))
5.dplyr两个实用功能
- 管道操作
%>%
(cmd/ctr + shift +M)
test %>% group_by(Species) %>% summarise(mean(Sepal.Length),sd(Sepal.Length))
- count统计某列的unique值
count(test,Species)
6.dplyr处理关系数据
- 内连inner_join()
inner_join(test1, test2, by = "x") #取交集
- 左连left_join()
left_join(test2, test1, by = 'x') #以左侧第一个数据集的x为标准
left_join(test1, test2, by = 'x') #注意两者结果并不相同
- 全连full_join()
full_join(test1, test2, by = 'x') #取并集
- 半连接semi_join():
semi_join(test1, test2, by = 'x')
# 返回test1中有,test2中有,的test1中的元素
- 反链接(anti_join):
anti_join(test1, test2, by = 'x')
# 返回test1中有,test2中没有没有,的test1中的元素
- 简单合并
bind_rows(test1, test2) #合并行要求列数相同
bind_cols(test1, test2)#合并列要求行数相同
7. 备注
- iris是内置数据集
- 加载任意一个tidyverse包即可用管道函数
- base包中有简单合并函数
cbind()
rbind()