前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R-入门+数据类型 -生信技能树

R-入门+数据类型 -生信技能树

原创
作者头像
用户9966449
修改2023-02-14 14:00:39
6010
修改2023-02-14 14:00:39
举报

0-基本信息

R语言版本 4.2.2

Rstudio 用R project管理项目文件,然后新建脚本

只需要管带error的提示

1-数据类型

复习大纲
复习大纲

1.1单个数据

字符>数值>逻辑

代码语言:javascript
复制
####元素数据####
# 1.1.1-简单数学运算# #比较运算、逻辑运算# #多个逻辑运算#
3+5;3-5;3\*5;3/5;3^5;sqrt(9);abs(-3);log2(8);log10(100)
3>5;3<5;3<=5;3>=5;3==5;3!=5
3<5&4>5;3<5|4>5;!(4>5)

# 1.1.2-判断是否是某一数据类型# #数据类型转换#
is.numeric("a");is.logical("4");is.character("4") #返回逻辑值
as.numeric("jimmy");as.logical("F");as.character("4")
#注:数据类型转换时候需要符合数据的要求,jimmy转换成为数值时出现Warning

# 1.1.3-判断数据类型#
class("a") #单个数据能判断,向量数据框等也能判断

1.2向量

1.2.1向量生成

代码语言:javascript
复制
#####1.2.1向量生成#####

# 1.2.1.1-使用c()函数组成向量,向量只能有一种数据类型
c(2,5,6,2,9)          # 2 5 6 2 9
c("a","f","md","b")   # "a"  "f"  "md" "b"
c(T,T,T,F,F,F)        # TRUE  TRUE  TRUE FALSE FALSE FALSE

# 1.2.1.2-连续数字使用 :号
1:5                   # 1 2 3 4 5
5:1                   # 5 4 3 2 1

# 1.2.1.3-使用rep()、seq(),rnorm()函数
rep("x",times=3)             # "x"重复3次
seq(from=3,to=21,by=3)       # 从3开始到21,差为3
seq(from=21,to=3,by=-3)      # 从21开始到3,差为-3
rnorm(n=3)                   #3个随机数
rnorm(n=3,mean = 18,sd = 20) #平均18,方差20,3个随机数

# 1.2.1.4-以上函数的组合使用
c(rnorm(1),1:3,seq(4,7,4)) #可以成功运行 结果:0.8761421 1.0000000 2.0000000 3.0000000 4.0000000

1.2.2向量生成

代码语言:javascript
复制
#####1.2.2单个向量的操作#####
x = c(1,3,5,1)

# 1.2.2.1-赋值
x = c(1,3,5,1);x  #赋值符号 =
x <- c(1,3,5,1);x  #赋值符号 <- 快捷键:Alt+减号
(x <- c(1,3,5,1)) #( )另一种赋值+输出的写法

# 1.2.2.2-数学计算
x+1                # 2 4 6 2
log(x)             # 0.000000 1.098612 1.609438 0.000000
sqrt(x)            # 1.000000 1.732051 2.236068 1.000000

# 1.2.2.3-条件判断
x>3                # FALSE FALSE  TRUE FALSE
x==3               # FALSE  TRUE FALSE FALSE

# 1.2.2.4-初级统计
max(x)     #最大值  
min(x)     #最小值
mean(x)    #均值
median(x)  #中位数
var(x)     #方差
sd(x)      #标准差
sum(x)     #总和
length(x)          # 长度
unique(x)          # 去重复,第二次出现才算重复
duplicated(x)      # 对应元素是否重复,同样第二次出现才算重复
!duplicated(x)     # duplicated(x)结果取反
table(x)           # 统计各元素重复了几次
sort(x)            # 默认从小到大排序元素

1.2.3两个向量的操作

代码语言:javascript
复制
#####1.2.3两个向量的操作#####
# 注意**【【循环补齐】】**
x = c(1,3,5,1)
y = c(3,2,5,6)

# 1.2.3.1-比较运算
x == y;y == x # 结果均为FALSE FALSE  TRUE FALSE
#1.2.3.2-数学运算
x + y;x*y;x-y;...... 
#1.2.3.3-连接 paste()和 paste0()
paste(x,y,sep=",")   # "1,3" "3,2" "5,5" "1,6"
paste0(x,y,sep=",")  # "13," "32," "55," "16," ,没有sep参数,可以设置不会报错
  # paste(x,y,sep="") = paste0(x,y)
#1.2.3.4 交集、并集、差集
intersect(x,y)       # 取交集时,在结果中元素不会重复 -数值
union(x,y)           # 取并集时,在结果中元素不会重复 -数值
setdiff(x,y)         # 找x\y里面x独有的 -数值
setdiff(y,x)         # 找x\y里面y独有的 若没有返回 numeric(0) -数值型
x %in% y             # x元素在y里面是否存在 -逻辑-取子集
y %in% x             # y元素在x里面是否存在 -逻辑-取子集

1.2.4向量取子集

代码语言:javascript
复制
#####1.2.4-向量取子集#####
x <- 8:12

x[x==10]          #按照数值大小取
x[x %in% c(9,13)] #判断8-12数值,在9和13中是否存在,并取出相应元素
x[4]        #按照下标取-取单个
x[2:4]                #取多个
x[c(1,5)]             #取某几个
x[-4]       #数值取反使用-号 #排除某个
x[-(2:4)]             #先取连续,再做排除

1.2.5 修改向量中的元素

代码语言:javascript
复制
#####2.5.修改向量中的某个/某些元素#####
###取子集+赋值###
x[4] <- 40
x[c(1,5)] <- c(80,20)
#没有赋值,没有发生#

生信技能树课堂整理笔记

致谢

生信技能树

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0-基本信息
  • 1-数据类型
    • 1.1单个数据
      • 1.2向量
        • 1.2.1向量生成
        • 1.2.2向量生成
        • 1.2.3两个向量的操作
        • 1.2.4向量取子集
        • 1.2.5 修改向量中的元素
    • 致谢
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档