前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Jely's Note之生信入门class2

Jely's Note之生信入门class2

原创
作者头像
用户10556369
修改2023-05-17 20:26:02
4840
修改2023-05-17 20:26:02
举报
文章被收录于专栏:Jely’s生信笔记

title: "Jely's Note--Class Two"

date: "2023-05-10"


☺️Class Two?

引用自生信技能树

【小贴士】

1.课前运行中遇到了问题,关注重点信息就好

2.脚本是乱码,可以这么解决【如图】

点UTF-8点ok就完成啦!

3.说明.R文档与.Rproject两个文件的区别

.R的文件是脚本文件,是存放代码的文件【脚本中的内容可储存,下次打开还可存在】

.Rproj快捷方式,是打开工作目录的快捷方式

【课堂内容一】

一:数值类型与应用

1.数值型--基因表达量

2.字符型--以后可用于筛选基因名称

3.逻辑型--用于比较运算的结果【可用于筛选代码的条件语句】

如<、>、>=、<=,==【是否相等】!=【是否不相等】

eg.3==5 F、3!=4 T

【用法】

1.用函数返回结果是逻辑值【记录种类】

可以运用逻辑运算,当有多个逻辑条件的连接可用&与|或!非

eg.!(4>5)T

【数据类型判断与转换-(辅助)判断数据类型的函数是class()】

  1. is族函数可用于判断函数类型,其返回值是T/F;is=是否; 举例:>is.numeric("a") 1F ; >is.numeric("4")--F 【其中注意:数值型数据带“”就是字符,就不是数值了;对于判断是否为数值型数据,返回值就是错的【“4”】-F】 【注意:R语言中的格式大于内容】

2.转换as族函数实现数据类型的转换【批量操作,可将错误的类型修改成正确的类型】

as.numeric()--转换为数值型

如:>as.numeric("4")--1 4

【尽量不要出现NA缺失值】

3.多个数据如何组织?如何学习其中的规则?

【拓展:R语言中的表格中的加粗的内容【123、表头名称】不属于表格内容,属于表格的属性】

3.1 数据结构:数据框、向量、矩阵、列表

3.1.1)数据框≈表格【每一列有要求→数据类型必须是统一的,只有一种数据类型;文件与数据有区别--文件是在电脑上真实存在的,数据框没有真实存在在电脑上,只有在R语言上才显示】

3.1.2)向量=一串数据,数据框中单独拿出来的数据,视为一个整体【可生成、转换向量】

特点:只能有一种数据类型【不允许混淆】,可有重复值

(1)向量的生成

(1.1)原始用法:用函数c()将元素逐一放到一起

c(2,5,6,2,9)--1 2 5 6 2 9

【字符型必须带引号】

c("a","f","md","b")--同上连在一起

(1.2)需要批量向量生成等处理的时候:可以用for循环

也可以用“:”冒号连续的数字=连续的数字用冒号“:”

1:5--1 2 3 4 5

(1.3)常用函数:有重复的用rep();有规律的序列用seq();随机数用rnorm()

· rep("x",times = 3) 其中只有x与3属于变量【函数里的逗号=参数里的分割、细节补充参数】

当不清楚用法的时候可以用:>?rep 进行搜索,可以搜索函数及参数,可了解,可学习

· seq(from = 3,to = 21,by = 3)--等差数列

· rnorm(n = 3)--随机数函数=生成随机数 n=3,生成三个随机数

想了解其他赋值及限制,可用 >?rnorm 去搜索了解

(1.4)通过组合,产生更为复杂的向量。

常用函数从:paste0(rep("x",times = 3),1:3),其中的逗号是分为两个参数x\x\x;1\2\3\

1 "x1" "x2" "x3"

用法说明:paste0=是一种函数=可以将元素一对一的连接在一起

paste与paste0有什么区别及联系?

paste函数内有“ ”空格存在,而paste0“”没有

4.转化优先数据!

数值型与字符型放在一起---字符型

逻辑型与字符型放在一起---字符型

逻辑型与数值型放在一起---数值型

一个向量只能有一种类型,就算写错了,也会帮你改正

4.1 对单个向量进行的操作

(1)赋值给一个变量【规范写法】<-无空格/【随意写法】=

赋值是赋值,输出是输出,是两码事

x=c(1,3)【不会出结果的】

x【这样就可以输出了】

(2)赋值+输出如何一起实现,可以用()括起来

(x <- c(1,3,5,1)),可直接输出

x <- c(1,3,5,1); x,用分号;也可以

【注意:变量名称的取名须知:

  1. c,"x"不建议
  2. 数字开头不被允许,1x
  3. 空格 与中划线-不被允许,x 1;x-1
  4. 不建议中文 】

(3)批量计算可以用向量计算【省掉写循环的功夫】、还可进行逻辑比较

符号说明:=赋值,==是否等于

(3.1)对单个向量进行的操作【初级函数】&【能用函数运行,就不要人工取结果】

max(x) #最大值

min(x) #最小值

mean(x) #均值

median(x) #中位数

var(x) #方差

sd(x) #标准差

sum(x) #总和

-----以下是重点

length(x) #长度

x = c(1,3,5,1---1351是元素)

sort(x)#排序

default:从小到大的排序

?sort查看帮助文档

sort(x,decreasing降序否 = F升序)

sort(x,decreasing降序否= T降序)---指定参数

举例:

length(x)

【1】 4

unique(x) #去重复----从左往右消除第二次及以上出现的数

duplicated(x) #对应元素是否重复

没有重复F,第二次出现及多次出现为T

table(x) #重复值统计

统计那几个数值

出现了几次

(3.2)对两个向量进行的操作

先对x赋值、y赋值

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

(3.2.2)数学计算---等位运算

paste(x,y,sep = ",")

1 "1,3" "3,2" "5,5" "1,6"

paste(x,y)默认中间有空格

1 "1 3" "3 2" "5 5" "1 6"

paste0(x,y)

1 "13" "32" "55" "16"

paste(x,y,sep = "")空字符串

1 "13" "32" "55" "16"

paste(x,y,sep = ",")sep可用任何字符分隔

1 "1,3" "3,2" "5,5" "1,6"

1.而当两个向量长度不一致

x = c(1,3,5,6,2)---谁长就站着当标准,决定返回几个结果

y = c(3,2,5)3,2---循环补齐 x == y # 啊!warning! 1 FALSE FALSE TRUE FALSE TRUE

2.等位运算,长度不一致时,循环补齐可用来简化代码

paste0(rep("x",3),1:3)【times可省略】

1 "x1" "x2" "x3"

paste0("x",1:3)将x看成为1的向量 1 "x1" "x2" "x3"

paste0("student",seq(2,15,2))

3.取交集、并集、差集对两个向量的操作:

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

intersect(x,y)

1 3 5 2

union(x,y) 1 1 3 5 6 2

setdiff(x,y) 1 1 6

setdiff(y,x) numeric(0)

4.stdiff函数

5.重点!!-----%in%没有快捷键【以后可用于lncRNA】

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

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

1 FALSE TRUE TRUE FALSE TRUE

只对x负责,只输出与x长度的结果,y多少个都无关

y %in% x #y的每个元素在x中存在吗 %in%【不是等位对应,而是全元素的对应--计算量更大】

【不同的工作量】

x==y,x和对应位置的y相等吗?【这是等位对应】

【写法注意:

x = c(1,3,5,1),y = c(3,2,5,6)【不可以】

x = c(1,3,5,1);y = c(3,2,5,6)【;才可以】】

6.长度只跟x相匹配。【中括号里要等长向量,且对应逻辑值的向量】

留下自己想要的要求的数值【取子集=中括号】

x=8:12

x==10

x中括号外是被取子集的向量x==10中括号内是与x长度相等的逻辑值向量-取的是true

xx==10括号内的内容是条件

xa:b取x中的a:b的值---xc(a,b)

· 根据位置取子集,-b,是其位置坐标,x-b---反选位于b的数字的内容,取除了b位置以外的数;

x=8:10; x2 9

x-2 8 10

取反是”!“

x = 8:12 x 1 8 9 10 11 12

x!x %in% c(9,13) 8 10 11 12

7.如何修改向量中的某个元素

x

1 8 9 10 11 12

#改一个元素 x4 <- 40 x 1 8 9 10 40 12

【R语言里的修改,都要赋值,没有赋值就没有发生过】

8.简单向量作图

k1 = rnorm(12);k1

plot(k1) 以下标为横坐标,以向量为纵坐标的图

下标=index位置信息=横坐标

k2 = rep(c("a","b","c","d"),each = 3);k2

1 "a" "a" "a" "b" "b" "b" "c" "c" "c" "d" "d" "d"

boxplot(k1~k2)

k1为纵坐标、k2为横坐标

括号内是数据

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • ☺️Class Two?
相关产品与服务
批量计算
批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档