美文网首页生信星球培训第108期
生信星球学习小组Day4

生信星球学习小组Day4

作者: 生信小白 | 来源:发表于2021-05-17 22:50 被阅读0次

第一步_安装和加载R包

01_设置镜像

# options函数就是设置R运行过程中的一些选项设置
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源

02_安装R包

安装R包使用的函数取决于下载的地址

install.packages() # CRAN网站
BiocManager::install() # Bioconductor

03_加载R包

library()
require()

第二步_dplyr包的五个基础函数

test <- iris[c(1:2,51:52,101:102),]
# mutate()新增列
mutate(test, new = Sepal.Length * Sepal.Width) #  新增new列

# select()按列筛选
select(test,1) # 选取第一列
select(test,c(1,5)) # 选取1和5列
select(test, Sepal.Length) # 选取Sepal.Length列

select(test, Petal.Length, Petal.Width) # 选取Petal.Length, Petal.Width两列

vars <- c("Petal.Length", "Petal.Width") # 选取vars变量中的任意一列
select(test, one_of(vars)) # 

# filter()按行筛选
filter(test, Species == "setosa") # 选取setosa的行
filter(test, Species == "setosa"&Sepal.Length > 5 ) # 选取setosa且Sepal.Length > 5的行
filter(test, Species %in% c("setosa","versicolor")) # 选取向量中包含元素的列

# arrange()排序
arrange(test, Sepal.Length) # 按照Sepal.Length列排序,默认从小到大
arrange(test, desc(Sepal.Length)) # 用desc()排序顺序,从大到小

# summarise()对数据进行汇总
summarise(test,
          mean(Sepal.Length), # 计算Sepal.Length的平均值
          sd(Sepal.Length)) # 计算Sepal.Length的标准差

group_by(test, Species) # 先按照Species分三组setosa;versicolor;virginica 
summarise(group_by(test,Species),mean(Sepal.Length),sd(Sepal.Length)) # 计算每组Sepal.Length的平均值和标准差

dplyr两个实用技能

## 管道操作:%>% ,加载任意一个tidyverse包即可使用
test  %>%  group_by(Species)  %>%  summarise(mean(Sepal.Length), sd(Sepal.Length))

## count统计某列的unique值
count(test,Species)

dplyr处理数据关系

将两个表进行连接,注意不要引入因子变量

# 合并两组向量形成数据框
test1 <- data.frame(x = c('b','e','f','x'), 
                    z = c("A","B","C",'D'),
                    stringsAsFactors = F)

test2 <- data.frame(x = c('a','b','c','d','e','f'), 
                    y = c(1,2,3,4,5,6),
                    stringsAsFactors = F)

# 內连inner_join,取交集
inner_join(test1, test2, by = "x") # test1和test2两个数据框根据x列共同元素取交集合并

# 左连left_jion
left_join(test1, test2, by = 'x') # 以test1为标准,匹配不到test2的x列,即缺失值
left_join(test2, test1, by = 'x') # 以test2为标准,匹配不到test1的x列,即缺失值

# 全连full_jion
full_join( test1, test2, by = 'x') # test1和test2数据框中x列元素全部合并保留

# 半连接:返回test1数据框中能够与test2匹配的x列的元素
semi_join( test1, test2, by = 'x')

# 反连接:返回test1数据框中无法与test2匹配的x列的元素
anti_join(x = test1, y = test2, by = 'x')

# 简单合并,相当于cbind()和rbind()函数
# 注意:bind_rows()需要两个数据框有相同的列;bind_cols需要两组数据框具有相同的行
test1 <- data.frame(x = c(1,2,3,4), y = c(10,20,30,40)) # 4*2
test1
test2 <- data.frame(x = c(5,6), y = c(50,60)) # 2*2
test2
test3 <- data.frame(z = c(100,200,300,400)) # 4*1
test3
bind_rows(test1,test2) # 6*2
bind_cols(test1,test3) # 4*3

相关文章

  • 生信星球学习小组Day4

    第一步_安装和加载R包 01_设置镜像 02_安装R包 安装R包使用的函数取决于下载的地址 03_加载R包 第二步...

  • Day6-七角君

    生信星球学习小组第92期 本期的主题是学习R包框架如图↓

  • 学习小组Day4笔记--kan

    笔记来自生信星球学习小组资料 Day4 学习内容-R语言初上手 1.思维导图镇楼 2.准备工作 安装R与Rstud...

  • 生信星球学习小组感言

    文/叶子 小洁,你好! 我是第76期学习小组的叶子,感谢提供这么好的学习平台,让我跟着你、小泽老师和小组其他成员一...

  • Day-1--小陈

    生信星球-小组学习-day1 ##小陈 1.关于学习方法 学习、索引、小组讨论、正确提问、笔记、总结;心得 2...

  • 生信星球学习小组第29期 Day4

    R语言基础 今日学习大纲: 安装R和Rstudio 了解R语言是什么,做什么,熟悉工作界面 学会外观设置和基本操作...

  • Day1—七角君

    生信星球学习小组第92期 首先根据花花在微信[https://m.umu.cn/session/article/2...

  • Day1-Sukie

    1、标题 一级标题 二级标题 三级标题 四级标题 五级标题 六级标题 2、列表 生信 星球 学习小组 生信 星球 ...

  • 生信星球学习Day4

    R及RStudio 以下是今天的学习内容。 一、了解R及RStudio并下载安装。 二、设置个性R环境 三、小试牛...

  • 2020-10-09 入门小组DAY1作业补交-三三

    生信星球学习小组DAY 1 Markdown新手指南学习笔记 /by 三三 标题 拉 普 兰 德 语法 在文本前面...

网友评论

    本文标题:生信星球学习小组Day4

    本文链接:https://www.haomeiwen.com/subject/mcjsjltx.html