R语言之R包学习
首先想要使用R语言,那肯定离不开R包,接下来一步一步示范如何安装、使用R包
R包下载
R包下载的代码:
install.packages
BiocManager::install
source("http://www.bioconductor.org/biocLite.R")
biocLite("limma")
但是不一定成功,主要是因为是否配置好了镜像网站
这就需要利用如下代码来设置(代码来自生信星球)
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
检查是否配置好了。
R包加载
library()
require()
如
install.packages("dplyr")
library(dplyr)
R包使用
此处以dplyr包为例
test <- iris[c(1:2,51:52,101:102),]
新增列:
mutate(test, new = Sepal.Length + Sepal.Width)
按列筛选:
select(test,1)
select(test,c(1,5))
select(test,Sepal.Length)
select(test, Petal.Length, Petal.Width)
条件筛选行:
filter(test, Species == "versicolor")
filter(test, Species == "versicolor"&Sepal.Length > 1 )
filter(test, Species %in% c("setosa","versicolor"))
排序:
arrange(test, Sepal.Length) #默认从小到大排序
arrange(test, desc(Sepal.Length)) #从大到小排序
汇总:
summarise(test, mean(Sepal.Length), sd(Sepal.Length))
group_by(test, Species) #可以分好组,计算各组的值
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))
#这里同样可以用到之前attach(),这样就简单些
统计:
count(test,Species) #统计某列的unique值
关联数据:
options(stringsAsFactors = F) #不引入factor
tmp1 <- data.frame(x = c('b','e','f','x'),
z = c("A","B","C",'D'),
stringsAsFactors = F)
tmp2 <- data.frame(x = c('a','b','c','d','e','f'),
y = c(1,2,3,4,5,6),
stringsAsFactors = F)
取交集
inner_join(test1, test2, by = "x")
左连
left_join(test1, test2, by = 'x')
left_join(test2, test1, by = 'x')
全连
full_join( test1, test2, by = 'x')
半连:能够与y表匹配的x表所有记录
semi_join(x = test1, y = test2, by = 'x')
反连接:无法与y匹配的x表记录
anti_join(x = test1, y = test2, by = 'x')
合并
bind_rows(test1, test2) #两个数据框列数相同
bind_cols(test1, test3) #两个数据框有行数相同
最后的思维导图在此
R包学习