前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >day1and 2 R语言:初遇向量

day1and 2 R语言:初遇向量

原创
作者头像
不会写代码的医学生
修改2024-03-11 10:52:24
1200
修改2024-03-11 10:52:24
举报

1.向量运算

代码语言:R
复制
#比较运算的结果是逻辑值
3==5;3!=4
#逻辑运算(与&、或|)
3<5 &4>5;3<5|4>5
#非!
!(4>5)

1.1数据类型的转换和判断

代码语言:R
复制
#is族函数,判断,返回值为TRUE或FALSE
is.numeric() #是否数值型数据
is.logical() #是否逻辑型数据
is.character()#是否字符型数据
##as族函数实现数据类型的转换
as.numeric() #转换为数值型
as.logical() #转换为逻辑型
as.character()#转换为字符型

1.2脚本打开乱码的解决方案

2.向量的生成

代码语言:R
复制
c()#用c()逐一放到一起 #1:5#连续的数字用冒号:
rep()#有重复的用
rep("x",times=3)
seq()#有规律的序列用
seq(from=3,to=21,by=3)
rnorm()#随机数
rnorm(n=3)
paste0(rep("x", times=3),1:3)#无缝的连接#paste(x,y,sep=" ")

#对向量的操作

代码语言:R
复制
### 2.1赋值
x <- c(1,3,5,1) #规范的赋值符号
x = c(1,3,5,1) #随意的写法
(x <- c(1,3,5,1)) #赋值+输出一起实现
x <- c(1,3,5,1);x
#数学运算
#比较运算,生成逻辑值向量或等长的逻辑向量
#初级统计
length()#长度
unique()#去重复
duplicated()#判断是否发生了重复
k=duplicated();!k#逆转
table()#重复值统计
sort()#排序,默认从小到大
sort(x,decreasing = T)

2.2两个向量的连接

代码语言:R
复制
x=c(1,3,5,1)
y=c(3,2,5,6)
paste(x,y,sep=",")

2.3当两个向量长度不一样

代码语言:R
复制
x=c(1,3,5,6,2);y=(3,2,5)
x==y#x和y长度不一样,发生循环补齐
#循环补齐发生的条件:1.等位运算2.两个向量长度不相等
paste0(rep("x",3),1:3)
paste0("x",1:3)#利用循环补齐简化代码
##交集、并集、差集
intersect()#交集
union()#并集
setdiff(x,y)#在x里有,在y里没有

2.4筛选向量

代码语言:R
复制
x%in%y #x的每个元素在y中存在吗,对x进行筛选
#x==y与x%in%y不同
[ ]#向量筛选,取子集#按照逻辑值,中括号里是与x长度相等且一一对应的
                    #按照位置,中括号里是由x下标组成的向量
x=c(8,9,10,11,12)
x[x<4]
x[x%in%c(9,13)]#将TRUE对应的值挑出来,FALSE丢弃
x[4]#将x的第4个数取出来
x[2:4]
x[c(1,5)]#将x的第1个和第5个数取出来
x[-4]#反选第4个数

2.5修改向量

代码语言:R
复制
x=c(8,9,10,11,12)
#改一个元素
x[4]<- 40;x
#改多个元素
x[c(1,5)]<-c(80,20);x
#修改需要赋值,没赋值等于没发生过
x=c(1,5,3,44,2);x
x[x>3];x
x=x[x>3];x
x=as.character(x)
k1=rnorm(12);k1;plot(k1)#简单向量作图
k2=rep(c("a","b","c","d",each=3));k2
boxplot(k1~k2)
k2=rep(c("a","b","c","d",each=c(4,3))
       c(rep("a",4),rep("b",3))
  tmp=sort(log_rank_p[log_rank_p<0.05]) #嵌套式代码先运行最小括号内容

引用自生信技能树

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.向量运算
    • 1.1数据类型的转换和判断
      • 1.2脚本打开乱码的解决方案
      • 2.向量的生成
        • 2.2两个向量的连接
          • 2.3当两个向量长度不一样
            • 2.4筛选向量
              • 2.5修改向量
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档