前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从头学R语言——DAY 3

从头学R语言——DAY 3

原创
作者头像
橙子7
发布2024-07-25 18:53:16
480
发布2024-07-25 18:53:16
举报
文章被收录于专栏:从头学R语言

学习资源来自生信星球

R包

R包直接在Rstudio页面下载的3大来源:官网CRAN、Biocductor、github

设置镜像

CRAN的镜像网站可以直接在tools-global options(或快捷键“command”+“,”)-packages中设置,这样一劳永逸,不用每次安装前设置

代码语言:javascript
复制
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))  
options(BioC_mirror="https://mirrors.westlake.edu.cn/bioconductor")

命令安装

具体R包来自哪里,谷歌必应搜索即可

代码语言:javascript
复制
install.packages("stringr")
BiocManager::install("limma")

加载R包

library()或require()都可以

代码语言:javascript
复制
library(limma)

dplyr包

dplyr作为tidyverse中的核心包之一,主要用于数据转换。因为用ggplot等进行可视化,必须要求数据格式完全符合要求,但这种情况极其罕见,所以我们需要dplyr来转换数据。此处先掌握dplyr的5个基本函数:mutate(),select(),filter(),arrange(),summaries();1个重要的管道工具%>%

代码语言:javascript
复制
#用dplyr包进行数据转换

#5个核心函数
test <- iris[c(1:2,51:52,101:102),]

#mutate(),新增列
mutate(test, new = Sepal.Length * Sepal.Width)

#select(),提取列
select(test,1)    #类似向量提取元素,可以按位置和名称两种方式提取
select(test,Species)

#filter(),提取行
filter(test,Species=='setosa')
filter(test, Species == "setosa"&Sepal.Length > 5 )
filter(test, Species %in% c("setosa","versicolor"))

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

#summaries(),汇总,通常与group_by()联用
summarise(test, mean(Sepal.Length), sd(Sepal.Length))# 计算Sepal.Length的平均值和标准差
# 先按照Species分组,计算每组Sepal.Length的平均值和标准差
group_by(test, Species)
summarise(group_by(test, Species),mean(Sepal.Length), sd(Sepal.Length))

#2个实用工具
#管道工具,表示然后
test %>% 
  group_by(Species) %>% 
  summarise(mean(Sepal.Length), sd(Sepal.Length))
#计数某列的unique值
count(test,Species)    #error!运行报错,要求test为list,但此处test是data.frame

#关联数据,合并数据框
#内连接,取交集
inner_join(test1, test2, by = "x")
#左连接,完善左数据
left_join(test1, test2, 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')
select(data,位置或列名) 与 data[,y]、data$列名 提取列的区别
select(data,位置或列名) 与 data[,y]、data$列名 提取列的区别

列名下3或4个字母的缩写,是变量的类型:

  • int:整数型变量
  • dbl:双精度浮点数型变量,即实数
  • chr:字符串
  • dttm:日期+时间型变量
  • lgl:逻辑型变量
  • fct:因子,R中具有固定数目的值的分类变量
  • date:日期型变量

深刻感受不同连接的区别

创建两个相关的数据框
创建两个相关的数据框
内连接,取交集并补全
内连接,取交集并补全
左连接,补全左数据框
左连接,补全左数据框
全连接,取并集
全连接,取并集
半连接,取交集但补不全,返回能够与y表匹配的x表所有记录
半连接,取交集但补不全,返回能够与y表匹配的x表所有记录
反连接
反连接

存疑问题☆

尚有疑问:count(test,Species)现error,如何实现应有作用?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • R包
    • 设置镜像
      • 命令安装
        • 加载R包
        • dplyr包
          • 深刻感受不同连接的区别
          • 存疑问题☆
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档