前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >生信入门——Day1-2

生信入门——Day1-2

原创
作者头像
青柠味
发布2025-05-11 19:10:47
发布2025-05-11 19:10:47
1490
举报

Day1

R语言基础部分的目录
R语言基础部分的目录

引自生信技能树

一、R与Rstudio

1、什么是R

编程语言;环境

2、什么是Rstuio

集成开发环境

3、如何在Rstuio中新建项目project

引自生信技能树

4、新建脚本script

引自生信技能树

5、Rstuio介绍

引自生信技能树

6、面板显示和字号设置

四个面板显示步骤
四个面板显示步骤

引自生信技能树

字号设置步骤
字号设置步骤

引自生信技能树

7、与R语言交互

(1)控制台窗口

(2)脚本编辑器(逐行运行ctrl+enter;选中运行ctrl+A)

(3)使用“#”为脚本注释

(4)脚本保存和关闭(.R结尾),默认的保存位置是某个工作目录下

注意:一个单词后面跟了一对小括号,那么这个单词一定是一个函数。

8、R语言在和你说什么

(1)输出结果;

(2)报错error——检查命令和环境,修正后重新运行;

(3)警示warning——忽略;

(4)没反应——出现大于号,运行已完成;

(5)太长时间卡住不动——点击红色的中止键或者重启session;

(6)出现“+”号——代表延续,补齐缺少的括号/引号,或者光标放在“+”后面,点esc键退出;否则后面的代码不能顺利运行。

(7)出现提示信息——检查是否有error,没有就忽略;

(8)进一步选择——回答它。

二、数据类型

1、数值型numeric

2、字符型character,要加引号

3、逻辑型logical(TRUE、FALSE、NA)

4、判断数据类型用函数class()

代码class("Jimmy")

5、变量的赋值

(1)R语言里面的赋值符号

(2)变量的命名

6、常见的报错:引号、拼写错误、大小写

(1)object找不到对象——忘记打引号/没有定义变量或赋值,缺少前提条件;

(2)function翻译为函数,表示函数写错了;

(3)TRUE和FALSE只能大写,或简写为T/F;

(4)unexpected是代码错误的关键词,?出现的位置就是错误的位置;

(5)看报错信息要抓关键词:要看error冒号的后半句;

(6)两个小技巧:①tab键补齐;②上下键:放在>后面,然后摁上键,可修改上一条命令。

7、比较运算返回的结果是逻辑值

(1)比较运算符号有:<,>,==,<=,>=,!=;

(2)逻辑运算,多个逻辑条件连接:与&,或|,非!

8、数据类型的判断和转换

(1)is族函数,判断,返回值为T/F

代码is.numeric()/is.logical()/is.character()

(2)as族函数实现数据类型之间的转换

代码as.numeric()/as.logical()/as.character()

Day2

三、数据结构——向量

1、向量的生成

(1)用 c() 结合到一起

(2)连续的数字用冒号“:”

(3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm()

(4)通过组合,产生更为复杂的向量

代码语言:R
复制
#####2.1.向量生成#####

#(1)用 c() 结合到一起
c(2,5,6,2,9) 
c("a","f","md","b")
#(2)连续的数字用冒号“:” 
1:5
#(3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm()
rep("x",times = 3)  
seq(from = 3,to = 21,by = 3)
rnorm(n = 3)
#(4)通过组合,产生更为复杂的向量。
paste0(rep("x",times = 3),1:3)
#这里的"x"不是变量,而是字符型数据。
x = a
#🌟要想把上面的指令改正的话,有两种办法
#1、改成字符型数据a
x="a"
x
#2、a是个变量,忘记赋值了
a="jimmy"
x=a
x

2、对单个向量进行操作

(1)赋值

(2)简单数学运算

(3)根据某条件进行判断,生成逻辑型向量

(4)初级统计

详见以下代码块,加🌟的地方为补充

代码语言:R
复制
#####2.2对单个向量进行的操作####
#🌟前面的操作只是生成了向量,但并没有把向量存下来,所以environment那里还是空的。
#(1)赋值
x <- c(1,3,5,1) 
x

#(2)简单数学计算
x+1
log(x)
sqrt(x)

#(3)根据某条件进行判断,生成逻辑型向量
x>3
x==3
#(4)初级统计
max(x) #最大值
min(x) #最小值
mean(x) #均值
median(x) #中位数
var(x) #方差
sd(x) #标准差
sum(x) #总和

length(x) #长度,向量的组成部分是元素,长度就是元素的个数
unique(x) #去重复
duplicated(x) #判断对应元素是否重复
table(x) #重复值统计
#🌟举例练习
y = c("a","a","b","b","c","c")
y
duplicated(y)
table(y)

sort(x)
#🌟默认思想,英文?+函数名查帮助文档
?sort
sort(x,decreasing = F)
sort(x,decreasing = T)

注意:完成练习题2-2(向量的生成)

代码语言:R
复制
# 说明:__处是填空,双击__处即可填空
# 左侧的红色❌是因为下划线导致的语法错误,忽略


# 练习2-2
# 1.生成1到15之间所有偶数,并用代码查看a的内容
a = seq(from = __,to = __,by =__)
a
#答案:2,14,2

# 2.生成向量,内容为:"student2"  "student4"  "student6"  "student8"  
# "student10" "student12" "student14" 
paste0(rep("student",times = __),a)
#答案:lenth(a)。
#🌟填7也可以,但这个7是我们数出来的,那7可以怎么用代码计算出来呢?所以要尽量用函数length(a)来数向量的元素个数。

# 3.将两种不同类型的数据用c()组合在一起,看输出结果
c(__,__)
#🌟向量只允许一种数据类型,所以数据类型转换的优先顺序为:字符型>数字型>逻辑型
#把逻辑型转换为数值,TRUE转换为1,FALSE转换为0
as.numeric(TRUE)
as.numeric(FALSE)

3、对两个向量进行操作

(1)比较运算,生成等长的逻辑向量。

(2)数学计算

(3)连接

(4)交集、并集、差集

循环补齐
循环补齐

引自生信技能树

x==y与x%in%y的区别
x==y与x%in%y的区别

引自生信技能树

老师提问:若两边的y各增加一个元素2,那么两边产生的逻辑值的个数分别为5和4。

代码语言:R
复制
#####2.3.对两个向量进行的操作#####
x = c(1,3,5,1)
y = c(3,2,5,6)
#(1)比较运算,生成等长的逻辑向量
x == y 
y == x
#🌟x == y与y == x是相同的
#(2)数学计算
x + y
#(3)连接
paste(x,y,sep=",")

#paste与paste0的区别
paste(x,y)

paste0(x,y)
paste(x,y,sep = "")

paste(x,y,sep = ",")
#🌟查帮助文档,这两个函数不止可以连接两个向量,而是多个。

#当两个向量长度不一致
x = c(1,3,5,6,2)
y = c(3,2,5)
x == y # 啊!warning!
#🌟循环补齐--看ppt。循环补齐的条件:两个向量,元素与元素之间一对一的等位计算(只包括比较运算、数学计算和连接)。

#利用循环补齐简化代码
paste0(rep("x",3),1:3)
paste0("x",1:3)

#(4)交集、并集、差集(我有你没有)
x = c(1,3,5,1)
y = c(3,2,5,6)

intersect(x,y)
union(x,y)
setdiff(x,y)
setdiff(y,x)

x %in% y #x的每个元素在y中存在吗
y %in% x #y的每个元素在x中存在吗
#🌟与前面x==y的区别:前者是位置一一对应的比,会发生循环补齐;后者不是一一对应的比,只要有就行。

4、向量取子集

(1)按照逻辑值取

(2)按照位置取

容易混淆的
容易混淆的

引自生信技能树

代码语言:R
复制
#####2.4.向量筛选(取子集)--看ppt#####

x <- 8:12
#根据逻辑值取子集
x[x == 10]
x[x < 12]
x[x %in% c(9,13)]
#根据位置取子集
x[4]
x[2:4]
x[c(1,5)]
x[-4]#第四个元素不取
x[-(2:4)]#不要第2-4个元素

#蓝色和绿色球代码
x=c("蓝","蓝","绿","黄","白","绿")
y=c("蓝","绿")
x[x%in%y]

5、如何修改向量中某个/某些元素

代码语言:R
复制
####2.5.修改向量中的某个/某些元素:取子集+赋值
x
#改一个元素
x[4] <- 40
x
#改多个元素
x[c(1,5)] <- c(80,20)
x
#🌟R语言里面的修改都要经过赋值,没有赋值就没有发生过。
#举例
x=c(1,3,5,7,0)
x+1
as.character(x)
x
#修改
x=c(1,3,5,7,0)
x=x+1
x
x=as.character(x)
x

6、简单向量作图

代码语言:R
复制
#### 2.6 简单向量作图
k1 = rnorm(12);k1  #两句代码写在同一行上,用分号进行连接。
k2 = rep(c("a","b","c","d"),each = 3);k2
plot(k1)
boxplot(k1~k2) #课后试着搜索boxplot表达什么意思,箱线图,怎么看,如何用呢。k1作为横坐标,k2作为纵坐标。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Day1
    • 一、R与Rstudio
      • 1、什么是R
      • 2、什么是Rstuio
      • 3、如何在Rstuio中新建项目project
      • 4、新建脚本script
      • 5、Rstuio介绍
      • 6、面板显示和字号设置
      • 7、与R语言交互
      • 8、R语言在和你说什么
    • 二、数据类型
      • 1、数值型numeric
      • 2、字符型character,要加引号
      • 3、逻辑型logical(TRUE、FALSE、NA)
      • 4、判断数据类型用函数class()
      • 5、变量的赋值
      • 6、常见的报错:引号、拼写错误、大小写
      • 7、比较运算返回的结果是逻辑值
      • 8、数据类型的判断和转换
  • Day2
    • 三、数据结构——向量
      • 1、向量的生成
      • (1)用 c() 结合到一起
      • (2)连续的数字用冒号“:”
      • (3)有重复的用rep(),有规律的序列用seq(),随机数用rnorm()
      • (4)通过组合,产生更为复杂的向量
      • 2、对单个向量进行操作
      • (1)赋值
      • (2)简单数学运算
      • (3)根据某条件进行判断,生成逻辑型向量
      • (4)初级统计
      • 3、对两个向量进行操作
      • (1)比较运算,生成等长的逻辑向量。
      • (2)数学计算
      • (3)连接
      • (4)交集、并集、差集
      • 4、向量取子集
      • (1)按照逻辑值取
      • (2)按照位置取
      • 5、如何修改向量中某个/某些元素
      • 6、简单向量作图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档