2021-03-07 生信小组 学习R包
安装和加载R包
镜像设置
# options函数:设置R运行过程中的一些选项
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源
安装
- CRAN的包
install.packages(“ ”)
- Biocductor的包
BiocManager::install(“ ”)
加载
library()
require()
dplyr包常用函数
- mutate() 新增列
mutate(test, new = Sepal.Length * Sepal.Width)
- select() 按列筛选
#按列号筛选
select(test,1)
select(test,c(1,5))
select(test,Sepal.Length)
#按列名筛选
select(test, Petal.Length, Petal.Width)
- .filter() 筛选行
filter(test, Species == "setosa")
filter(test, Species == "setosa"&Sepal.Length > 5 )
filter(test, Species %in% c("setosa","versicolor"))
- arrange() 按某1列或某几列对整个表格进行排序
arrange(test, Sepal.Length)#默认从小到大排序
arrange(test, desc(Sepal.Length))#用desc从大到小
- summarise() 汇总
summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
#group_by(test, Species) 按照Species分组然后计算每组Sepal.Length的平均值和标准差
dplyr包实用技能
- 管道操作 %>%
快捷键:cmd + option + M
test %>%
group_by(Species) %>%
summarise(mean(Sepal.Length), sd(Sepal.Length))
- count
统计某列的unique值
count(test,Species)
dplyr处理关系数据
- 取交集
join
inner_join(test1, test2, by = "x") #内连
left_join(test1, test2, by = 'x') #左连
left_join(test2, test1, by = 'x') #右连
full_join( test1, test2, by = 'x') #全连
semi_join(x = test1, y = test2, by = 'x') #半连接:返回能够与y表匹配的x表所有记录
anti_join(x = test2, y = test1, by = 'x') #反连接:返回无法与y表匹配的x表的所记录
- 简单合并
bind_rows() #列数相同
bind_cols() #行数相同