生信星球Day4 学习R包

2023-07-21 09:08:16 浏览数 (1)

今日学习内容:

  1. 如何安装R包?
  2. 认识dplyr,函数、功能等

安装和加载R包

镜像设置

方法一:手动设置,Tools→Packages→Primary CRAN repository

方法二:自动运行

教程来自:https://www.jianshu.com/p/861224f4251a

options() 设置R运行过程中的一些选项设置

options()$repos 查看使用install.packages安装时的默认镜像

options()$BioC_mirror 查看使用bioconductor的默认镜像

  • R最重要的两个配置文件: 一是.Renviron,能够设置R的环境变量; 二是.Rprofile,如果启动时找到这个文件,那么就替我们先运行一遍(这个过程就是在启动Rstudio时完成的)

首先,编辑文件

代码语言:txt复制
file.edit('~/.Rprofile')
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源

然后,保存并重启Rstudio。

安装和加载

需要联网,以dplyr为例:

代码语言:txt复制
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") 
install.packages("dplyr")   #或BiocManager::install("dplyr")
library(dplyr)

dplyr

五个基础函数

mutate() 新增列,(x,列名=相关数据)

select() 筛选列,(x,列号或列名)

filter() 筛选行,(x,列名==想要的行)需要逻辑判断

arrange() 按某1列或某几列对整个表格进行排序,默认从小到大,用desc()可从大到小

summarise() 汇总,配合group_by()分组,可以mean()求平均值,sd()求标准差

代码语言:txt复制
test <- iris[c(1:2,51:52,101:102),]
t1 <- mutate(test, new = Sepal.Length * Sepal.Width)
t2 <- select(test,c(2,4))
t3 <- filter(test, Species == "setosa"&Sepal.Length > 5 )
t4 <- arrange(test, desc(Sepal.Length))
t5 <- summarise(group_by(test, Species), mean(Sepal.Length), sd(Sepal.Length))
运行结果运行结果

两个实用技能

1、管道操作 %>% (cmd/ctr shift M)

代码语言:txt复制
test %>% 
	group_by(Species) %>% 
	summarise(mean(Sepal.Length), sd(Sepal.Length))

2、count() 统计某列的unique值,即统计同类项

连接两个表的不同方式

  1. inner_join() 內连,取交集,by="x"基于x的列
  2. left_join() 左连,保留前一个表,以此多舍少补后一个表
  3. full_join() 全连
  4. semi_join(x= ,y= ,by="某列") 半连接,返回能够与y表匹配的x表所有记录
  5. anti_join(x= ,y= ,by="某列") 反连接,返回无法与y表匹配的x表所有记录
  6. 简单合并 bind_rows()需要两个表格列数相同,上下连接; bind_cols()需要两个表格行数相同,左右连接。

0 人点赞