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) # 找xy里面x独有的 -数值
setdiff(y,x) # 找xy里面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)
#没有赋值,没有发生#
生信技能树课堂整理笔记
致谢
生信技能树