向量精讲课

上期课后题目答案:

生成sample4,sample8,sample12......sample28

paste(rep("sample",time=7),seq(from=4,to=28,by=4))
###time可为小于7的任意整数,暨循环补齐
###想办法取代7
c <- seq(from=4,to=28,by=4)
paste(rep("sample",time=as.numeric(length(c))),c)

数据类型转换的优先顺序

字符型>数值型>逻辑性

赋值

赋值符号:=或<-
赋值+输出一起执行:x<c();x

对单个向量进行操作

常见初级统计:max,min,mean,median,var(方差),sd(标准差),sum
length(长度),unique(去重复),duplicated(对应元素是否重复),table(重复值统计)

对两个向量进行操作

两个向量等长

逻辑比较,生成等长的逻辑向量
x = c(1,3,5,1)
y = c(3,2,5,6)
x == y x的每个元素与y一一对应比较
x %in% y #x中的元素在y中吗
#连接
paste(x,y,sep=":")
paste(x,y,sep="")
paste(x,y,sep="-")
#paste(x,y,sep="")=paste0(x,y)两函数等同
#交集、并集、差集
intersect(x,y)#默认去重复值
union(x,y)#默认去重复值
setdiff(x,y)#寻找x中存在y不存在的值
setdiff(y,x)#寻找y中存在x不存在的值

两个向量不等长

#循环补齐
x = c(1,3,5,6,2)
y = c(3,2,5)
x == y#返回与最长向量元素相同的逻辑值
x%in%y#返回与向量x元素相同的逻辑值
#利用循环补齐简化代码
#paste0(rep("gene",3),1:3)=paste0("gene",1:3)

向量取子集方法

#利用逻辑值对向量取子集
x = c(1,3,5,6,2)
x[x==5]#取出x的第三个元素
x[x>1]#取出x大于1的子集
#按照下标取子集
 x <- c(8:12);x
x[4]#取出x的第四个
x[2:4]#取出x中第二到第四个元素
x[c(1,5)]#取出x中第一个和第五个元素
###!!!中括号里面必须是可以运行的函数
x[-4]#去掉x的第四个元素
x[length(x)-1]#取出x中倒数第二个元素
x[-(2:4)]#取出x中的第一个和第五个元素

向量取子集总结:中括号里是与X等长的逻辑值向量
按照位置:中括号是由x的下标组成的向量

修改向量中的某个某些元素

 #取子集+赋值
x <- c(8:12);x
x[4]<-40
x[x>10]<-10

match函数的应用

match(x,y)#根据x为模板,调整y的顺序,返回的结果是y的下标
x <- c("A","B","C","D","E") 
y <- c("B","D","E","A","C") 
match(x,y) 
y[match(x,y)]#谁在外面,谁就在后面

引用:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 生信技能树1,2节 第一节 R与R studio 1.创建R文件在file新建project,其格式为X.Rpro...
    九歌_487a阅读 446评论 0 1
  • 向量的生成有重复的用rep(), 有规律的序列用seq(), 随机数用rnormrep("gene",times=...
    彭菲_ac3d阅读 197评论 0 0
  • 生信技能树数据挖掘课程学习笔记 二、数据类型和向量 数据类型 数值型numeric:1.3、2 字符型 chara...
    Kururu1799阅读 418评论 0 0
  • R-基础-向量 运行代码快捷键:ctrl + enter tab 补全 控制台清屏:ctrl +l 赋值(<-):...
    山竹山竹px阅读 674评论 0 0
  • 一. R与Rstudio R: 编程语言,统计计算和绘图的环境。 R studio: R语言的集成开发环境 新建项...
    Hannahhao阅读 354评论 0 0