前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言基础笔记-01(数据类型与向量)

R语言基础笔记-01(数据类型与向量)

原创
作者头像
我不知道
发布2023-03-12 13:56:21
3620
发布2023-03-12 13:56:21
举报
文章被收录于专栏:生信学习笔记01生信学习笔记01

引用自生信技能树马拉松课程小洁老师授课内容:R语言基础01

生成变量

代码语言:text
复制
c(1,5,3)
1:3

rep("x",times=3) #有重复的用rep()
seq(from=3,to=21,by=3)#有规律的序列用seq()
rnorm(n=3)#随机数用rnorm()

#通过组合,产生更为复杂的向量:
paste0(rep("x",times=3),1:3)
## [1] "x1" "x2" "x3"
paste0(rep('student'),seq(2,15,2))
## [1] "student2"  "student4"  "student6"  "student8" 
## [5] "student10" "student12" "student14"
paste0的循环补齐图示
paste0的循环补齐图示

比较运算与逻辑运算

比较运算与逻辑运算
比较运算与逻辑运算

循环补齐

代码语言:text
复制
a = c(1,2,3,4,1)
b = c(1,2)

#循环补齐一般包括三种情况:
#1.算数计算
a+b
## [1] 2 4 4 6 2

#2.逻辑比较:等于不等于大于小于百分百in
a==b
## [1]  TRUE  TRUE FALSE FALSE  TRUE
a>b
## [1] FALSE FALSE  TRUE  TRUE FALSE
a %in% b
## [1]  TRUE  TRUE FALSE FALSE  TRUE

#3.paste&paste0
paste0(rep("x"),1:3) #sep=","
## [1] "x1" "x2" "x3"

交集、并集、差集、%in%与==的区别

代码语言:text
复制
x = c(1,3,5,1)
y = c(3,2,5,6)

#交集、并集、差集
intersect(x,y)#交集
union(x,y)#并集
setdiff(x,y) #x里有y里没有
setdiff(y,x)

#%in%与==的区别
> x == y #将x里的元素与y里的元素**一一对应**的比较,确认是否相等
## [1] FALSE FALSE TRUE FALSE
> x %in% y #将x里的元素与y里的**每一个元素**比较,确认是否相等
## [1] FALSE TRUE TRUE  TRUE
%in%与==的区别图示
%in%与==的区别图示

向量筛选

代码语言:text
复制
a = c(1,2,3,4,1)
#按照逻辑值:中括号内为与x等长且一一对应的逻辑值向量
a[!duplicated(a)]
## [1] 1 2 3 4

#按照位置:中括号里是x的下标组成的向量
a[3]
## [1] 3

长度与重复

代码语言:text
复制
x = c("1","2","3","4","2")

length(x) #长度:计数x
## [1] 5
unique(x) #去重复:去除x里的重复值(每一个数据第一次出现为T,第二次出现为F,结果为保留重复值的第一次出现)
## [1] "1" "2" "3" "4"
duplicated(x) #对应元素是否重复,返回逻辑值,重复为T
## [1] FALSE FALSE FALSE FALSE  TRUE
!duplicated(x)#对应元素是否重复,返回逻辑值,不重复为T
## [1]  TRUE  TRUE  TRUE  TRUE FALSE
table(x) #重复值统计,每一个值出现的次数
## x
## 1 2 3 4 
## 1 2 1 1
table(duplicated(x))#统计多少个值为唯一,多少个值重复
## FALSE  TRUE 
##     4     1

一些tips

  1. 按tab可以自动填充函数、路径等
  2. NA:逻辑值,存在,但不知道; null:不存在
  3. 一个向量只能有一种数据类型,可以有重复值
  4. R语言的修改都需要赋值
  5. 熟练运用proj
  6. 不是没报错就没问题,需检查目的是否达到
  7. 脚本打开全是乱码的解决方案:
    脚本打开全是乱码的解决方案
    脚本打开全是乱码的解决方案

引用自生信技能树马拉松课程小洁老师授课内容:R语言基础01

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生成变量
  • 比较运算与逻辑运算
  • 循环补齐
    • 交集、并集、差集、%in%与==的区别
    • 向量筛选
    • 长度与重复
    • 一些tips
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档