精选!R语言笔记-1

2023-02-21 21:15:24    来源:腾讯云

生信技能树-数据挖掘课程笔记


(资料图)

数据类型

数值型 (numeric)1.1230字符型 (character)"a""bb""ccc"逻辑型 (logical)TRUETFLASEFNA

变量赋值

string = "hello,world"string <- "hello,word" 

比较运算

比较运算的返回值是逻辑值TURE 、FALSE

>大于<小于 >=小于等于>=大于等于==等于!=不等于

注意区分赋值=与逻辑值判断的等于==

逻辑值关系

&有一者为FALSE即为FALSE|有一者为TRUE即为TRUE!TURE和FALSE相互转换

数据类型的判断和转换

#是否为数值型数据is.numeric()#是否为逻辑型数据is.logical()#是否为字符型数据is.character()#转换为数值型数据as.numeric()#转换为逻辑值数据as.logical()#转换为字符型as.character()
字符型数据转换为数值型NA字符型数据转换为逻辑型NA数值型数据转换为逻辑型,数值非0即为TRUE,0则为FALSE数值型数据转换为字符型"123"逻辑型数据转换为数值型,TRUE为1,FALSE为0逻辑型数据转换为字符型"TRUE"or"FALSE"

R语言在不同数据转换时,尽可能保留更多的数据信息

数据结构

向量(vector)数据框(data.frame)矩阵(matrix)列表(list)

向量

向量和矩阵的所有元素只能有一种数据类型数据框的一列就是一个向量向量内的元素可以重复

#向量的生成c(1,2,3,4)1:4c("a","b","c","d")#向量中有重复的生成rep("a",times=3)#向量中有规律的生成seq(from=1,to=4,by=2)#向量中数字的随机生成rnorm(n=3)#向量之间的组合paste0(rep("a",3),1:3)

输出结果:

#向量的简单计算x = c(1,2,3,4)x+1log(x) #返回以e为底x的对数(自然对数)sqrt(x) #开平方根#对向量中的元素进行统计的函数max(x) #最大值min(x) #最小值mean(x) #均值median(x) #中位数var(x) #方差sd(x) #标准差sum(x) #总和#向量可根据判断,生成逻辑型向量x >= 2x == 3

输出结果:

x = c(2,1,1,3,4,4)length(x) #向量中元素的个数unique(x) #依次将第一个出现的元素保留,后面重复的去除duplicated(x) #依次判断元素是否重复table(x) #统计每个元素的重复值,以表格形式呈现class(table(x)) #table()函数输出的并非数据框或矩阵,是该函数特殊的数据类型sort(x) #按元素数值大小依次排序,默认从小到大sort(x,decreasing = F) #从大到小排序

输出结果:

#向量取子集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)]#改一个元素x[4] <- 40x#改多个元素x[c(1,5)] <- c(80,20)x

输出结果:

向量的位置从1开始,而不是从0开始x[-4]表示向量除了第4位置上的其他元素任何操作需要赋值才能修改变量

向量之间的操作

#向量之间的运算x = c(1,2,3,4)y = c(1,3,2,1)x + y #直接进行数学计算 x == y #比较运算可以生成逻辑值paste(x,y,sep=",") #连接两个向量,以","作为连接符paste0(x,y) #paste0()不需要连接符,直接连接两个向量

输出结果:

#向量长度不同时,自动循环补齐x = c(1,2,3)y = c(1)x == yy == x#循环补齐和两个向量运算顺序无关,少的向量补齐多的向量

输出结果:

#向量之间取交集、并集、差集x = c(1,2,3,4)y = c(1,3,3,5)intersect(x,y) #取交集union(x,y) #取并集,并集后去重setdiff(x,y) #取差集,x中去除ysetdiff(y,x) #取差集,y中去除x# %in%的使用x %in% y #x的每个元素在y中存在吗,返回一组逻辑值y %in% x #y的每个元素在x中存在吗,返回一组逻辑值

输出结果:

%in%是将前者依次取出,与后者中所含有的元素进行比对,存在即为TRUE,不存在即为FALSE%in%可用于向量取子集,取出前者向量中在后者向量中有的元素%in%==之间注意区分,%in%是依次取出,=是一一对应

标签: 编程算法

X 关闭

X 关闭