生信学习第六天~学习R包!很重要!!
R包是多个函数的集合,具有详细的说明和示例
以下均以dplyr为例
第一步
镜像设置,为了加速包的下载
1.可以进入设置里手动设置
用options()$repos
可以检验
2.输入下面两行代码即可
# options函数就是设置R运行过程中的一些选项设置
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源
可以用options()$BioC_mirror
检验一下
3.用这个方法就可以不用每次打开都再配置一遍👇
首先编辑一个Rprofile文件
file.edit('~/.Rprofile')
这样的话在每次打开前Rstudio都会先运算一遍这个文件
然后复制黏贴一下2中的 代码,保存后重启即可
可以用options()$repos
和options()$BioC_mirror
再检查一下
这种办法不一定都能成。。比如我就失败了
第二步
安装R包
命令是install.packages(“包”)
或者BiocManager::install(“包”)
取决于你要安装的包存在于CRAN网站还是Biocductor,可以谷歌搜到存在于哪里。
第三步
加载
library(包)
require(包)
两个都可以
接下来就先装个dplyr试一试
然而。。。事情总是不可能这么一帆风顺。。
清华不爱我。。这个时候。。手动换一个镜像再试试
这时候诡异的事情又出现了,手动为啥换了也没用???
还出现了一条诡异的警告⚠
难道我要在第一步就跪了吗/(ㄒoㄒ)/
不!我不认输!然后百度一波!
一个歪果网站告诉了我一个小秘密
输入options(repos = c(CRAN = "https://cran.rstudio.com"))
第四步
学习dplyr五个基础函数
小声bb:学完会发现好像excel
先随便弄了一个示例数据
test <- iris[c(1:2,51:52,101:102),]
1.mutate()
新增列
输入mutate(test, new = Sepal.Length * Sepal.Width)
如图,意思就是新增了个叫“new”的列,数值等于Sepal.Length * Sepal.Width
2.
select()
按列筛选可以按列号筛选
这里用到的是昨天的向量赋值的知识~注意举一反三
当然也可以按列名筛选
和上面的方法大同小异,想要什么列就输名就好了
注意要看清楚列名的大小写!!!
3.filter()
筛选行
可以看出来可以加入各种筛选条件,用到的命令都是昨天学过的,复习一下~
需要注意一下的是
字符一定要记得加" "
等于号是==
与是&
4.
arrange()
按某1列或某几列对整个表格进行排序arrange()
默认从小到大排序arrange(, desc())
加上desc变从大到小当然同时按几列也可以,列名间加上各种符号即可
5.
summarise()
汇总结合group_by使用实用性强
第五步
dplyr两个实用技能
1.管道操作 %>%
(cmd/ctr + shift + M)
一顿操作之后会发现得到了和第四步里最后一个操作一样的结果,其实管道操作就是“组合小功能完成大任务”,在中间变量特别多的时候很适用~
2.count统计某列的unique值
第六步
dplyr处理关系数据
先建两个数据框,注意不要引入factor
stringsAsFactors是这个意思
1.inner_join
内连,取交集
2.left_join
左连
注意输入指令时数据框名的先后
3.
full_join
全连对换次序只改变行、列的次序,数据框里的所有的数据都是一样的
4.
semi_join
半连接,返回能够与y表匹配的x表所有记录5.anti_join
反连接,返回无法与y表匹配的x表的所记录
6.简单合并
相当于base包里的cbind()函数和rbind()函数
bind_rows()函数需要两个表格列数相同,而bind_cols()函数则需要两个数据框有相同的行数