Day1 高效学习平台和方法推荐
Day2-3 Linux基础
Day4-6R语言基础
Day7 测序知识
今日待解决问题:
- 镜像设置(复习)
- 安装和加载包
- dplyr五个基础函数
- dplyr两个实用技能
- dplyr处理关系数据
1. 镜像设置
参考给自己一个全新的R语言环境,也可用两行代码分别对应清华源和中科大源:
options("repos" = (CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
2. 安装和加载包
由于电脑用户名设置的中文,安装Rstudio时,更改设置(见学习小组Day4笔记--孔嘉豪)加切换语言才能正常使用。但是今天要下包的时候就不停报错,显示无法读取路径(试了一整个下午😂。
解决办法——找到Rprofile.csv的文件,用vscode或记事本打开,添加一段代码
.libPaths(c('C://R',.libPaths()))
👆意思是更改下载包的路径到C盘的R文件夹中,注意的是避免路径中出现任何中文,包括Unicode转码后的中文也不可以。
install.packages("包") #安装包
library(d包) #加载包
👆install.packages(“包”)
也可以是BiocManager::install(“包”)
。取决于安装包存在于CRAN网站还是Biocductor。可以谷歌到。
3. dplyr五个基础函数
tidyverse是一组处理与可视化R包的集合,其中ggplot2与dplyr最广为人知ggplot2为可视化数据;dplyr为数据操作语法。我们下的就是dplyr,用来数据处理
A B C D E
1 5.1 3.5 1.4 0.2 X
2 4.9 3.0 1.4 0.2 X
3 7.0 3.2 4.7 1.4 Y
4 6.4 3.2 4.5 1.5 Y
5 6.3 3.3 6.0 2.5 Z
6 5.8 2.7 5.1 1.9 Z
3.1 新增列 mutate()
mutate(文件名, new = A * B) #新增列,可基础计算
3.2 筛选列 select()
vars <- c("A", "B") #变量vars赋值
select(文件名, A, B, c(1, 5), one_of(vars)) #按列名,元素位置,vars变量筛选
3.3 筛选行 filter()
filter(文件名, E == "X") #按行内容筛选
filter(文件名, E == "X"& A > 5 ) #附加筛选条件
filter(文件名, E %in% c("X","Y")) #多重内容筛选
3.4 列排序 arrange()
arrange(文件名, A) #默认从小到大排序
arrange(文件名, desc(A)) #从大到小排
3.5 汇总 summarise()
summarise(文件名, mean(A), sd(B)) #计算A的均数和B的标准差
summarise(group_by(文件名, E), mean(A), sd(B)) #按E列分组后,计算均数和标准差
4. dplyr两个实用技能
4.1 管道操作
> 文件名 %>%
+ group_by(E) %>%
+ summarise(mean(A), sd(B)) #等同于 3.5
4.2 统计
count(文件名, E) #统计E列同字符串的个数
5. dplyr处理关系数据
options(stringsAsFactors = F) #字符不转换为因子
5.1 交集 inner_join()
inner_join(文件1, 文件2, by = "A")
5.2 左连 left_join()
left_join(文件1, 文件2, by = "A") #在文件1基础上,将文件2向左并
#不写 by = “x” 的话系统也能自动识别可以合并的列
5.3 全连 full_join()
full_join( 文件1, 文件2, by = 'A')
5.4 半连接 semi_join()
semi_join(x = 文件1, y = 文件2, by = 'A') #仅返回两表能够匹配的数据
5.5 反连接 anti_join()
anti_join(x = 文件1, y = 文件2, by = 'A') #返回两表不能够匹配的数据
5.6 简单合并 bind_rows() bind_cols()
bind_rows(文件1, 文件2) #合并行
bind_cols(文件1, 文件2) #合并列