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

R语言2

原创
作者头像
用户10020512
修改2023-02-01 11:54:48
1.2K0
修改2023-02-01 11:54:48
举报
文章被收录于专栏:叶潭生信笔记

2.2对单个向量进行操作

(1)赋值( <- alt+—,在R里操作)

赋值,=随意的写法,是OK的

=可以代替赋值号 <- ,反过来不行

赋值+输出一起实现

可用名,不建议使用已经占用的格式,如c,limma

不要把变量添上引号

(2)简单数学计算

x <- c(2,3,4,4)

x+1

log(x)

(3)根据某条件进行判断,生成逻辑值向量

x==3 等于函数,返回TRUE/ FALSE

(4)初级统计

max(X)#最大值 min(x)#最小值, mean(x)#均值,median(x)#中位数

var(x)#方差,sd(x)#标准差,sum(x)#总和

length(x)#长度(计算元素个数)

unique(x)#去重复,从左往右看,第一次出现不是重复,第二次或第n次出现为重复

duplicated(x)#判断是否重复,如要duplicated返回相反的结果,添加什么函数?——!duplicated(x)此为常用使用形式

table(X)#重复值统计,看重复几次,没有重复,返回为1,可以统计出现的次数

sort(x)排序,默认从小到大,sort(x,decreasing=T),排序则可改成从大到小

R语言的默认思想

英文?+函数名帮助文档

paste0(rep("student",times=length(a)),seq(2,15,by=2))

R语言函数思想:能用函数代替,就不要手动去数,除非代码只用一次

2.3对两个向量的操作

(1)比较运算,生成等长的逻辑向量

x=c(1,3,5,1),y=c(3,2,5,6) ,x==y

F,F,T,F

(2)数学计算,为向量

(3)连接

paste(x,y,sep="")sep=""分隔符,可以设置不同的分隔符,paste0没有默认分隔符,可以用paste(x,y,sep="")替代

两个向量长度不一致

x==y y==x

不够比的情况下,平移对比,发生循环补齐,跟谁在前无关,跟谁最长有关

利用循环补齐简化代码

paste0(rep(“x”,3),1:3)参数的名称可以省略(times=)

paste0(“x”,1:3)假装x为长度为1的向量,发生循环补齐,短的循环3次补齐长的

所以有的代码写错,结果正确的话,是返回的东西都是一样的,只是没有区分x而已

完成比完美更重要

完美答案很短,但不好理解

(4)交集、并集、差集,结合返回结果,理解函数

intersect(x,y)交集,会去重复

union(x,y)

setdiff(x,y)仅在x里,不在y里#差集

setdiff(y,x)仅在y里,不在x里

重点:%in%(没有快捷键)

x %in% y #x的每个元素在y中存在吗

x=c(1,3,5,1),y=c(3,2,5,6)

F,T,T,F

y %in% x #y的每个元素在x中存在吗

T,F,T,F

x==y # x和对应位置的y相等吗

x %in% y #x的每个元素在y中存在吗 ,%in%只对前面的数字进行比较,不会发生循环补齐

发现问题的眼睛,面对困难的信心,解决问题的能力

unexpected,提示代码错误

两句代码写同一行,用;分隔,不能用,隔开

循环补齐:有没有发生运算,有没有返回结果和长的向量相关,所以unique(x)不会发生循环补齐,但是x+y,paste(x,y)都会发生循环补齐

2.4向量筛选(取子集)

?:如何从13个数中筛选大于7的

13个数字组成向量,赋值给x

x大于7,返回多少个逻辑值——13个

挑选TRUE 对应的值

————向量筛选(取子集),中括号[]:将true 对应的值挑选处理,false将丢弃

下标,第一个元素1,第二个元素2

x[4]--11,x的第四个元素

x[2:4],

x[c(1,5)]

x[-4]去掉第四个

x[-(2:4)]去掉2-4位,反选,是x的下标

叹号是给逻辑值用的,-是给向量用的

x[1,5]---代码错误,因为不能单独运行,不是向量,所以不能运行,x[c(1,5)]可

蓝色、绿色、黄色替换数字,还是赋值给向量,用逻辑值取

x %in% y

x[x %in% y]取T的个数

2.5如何修改向量中的某个、某些元素

改一个元素

x[4] <-40

改几个元素,取子集

2.6简单的向量作图

k1=rnorm(12);k1

plot(k1)

k1纵坐标,k1下标为横坐标

times,each=3(times是依次完成,each是逐个完成再继续)

boxplot(k1~k2),k1纵坐标,k2横坐标

箱线图(Box Plot)也就是箱须图(BoxWhisker Plot), 它是由一组或多组连续型定量数据的「最小观测值」、第一四分位数、中位数、第三分位数和「最大观测值」来反映数据的分布情况的统计图

# 4.用函数计算向量g的长度

length(g)

# 5.筛选出向量g中下标为偶数的基因名。

g[seq(2,100,2)],按位置,取出下标为偶数的基因

# 6.向量g中有多少个元素在向量s中存在(要求用函数计算出具体个数)?将这些元素筛选出来

g[g %in% s] 按位置

table(g %in% s) 计算T的重复值 按逻辑

# 提示:%in%

# 7.生成10个随机数: rnorm(n=10,mean=0,sd=18),用向量取子集的方法,取出其中小于-2的值

X=rnorm(n=10,mean=0,sd=18)

X[X< -2]#(<-是赋值,要给隔开,空格)

代码不报错,不代表代表诊断没错,要检查目的是否达到,检查的意识

sum

vector向量——一维

表格——二维,矩阵matrix,只允许一种数据类型,data.frames数据框,每列只允许一种数据类型

list列表,可装万物

根据生存它的函数,用class或is族函数判断

所有图片引用自小洁忘了怎么分身

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档