美文网首页
2021-03-02生信技能树-生信入门D2

2021-03-02生信技能树-生信入门D2

作者: 超级可爱的懂事长鸭 | 来源:发表于2021-03-03 10:42 被阅读0次

    生信技能树2021生信入门线上课笔记,需要结合课程讲解服用

    1. 逻辑运算多个逻辑条件的连接
      与 & 所有条件都要满足true
      或 | 其中一个条件满足true
      非 !
    > !4>5
    [1] TRUE
    
    1. 数据类型的判断 is
      数据类型的转换 as

    3.多个数据如何组织?
    数据结构
    -数据框:约等于表格,不是电脑中真实存在的文件
    -向量:一列,每一列数据类型相同,可以有重复值
    -矩阵
    -列表

    4.切换project
    先:保存/清空脚本、变量、图片
    再:file-open project

    5.向量的生成(向量由元素组成的,顺序是向量的属性之一)
    -c() 逐一生成,同一数据类型,可以有重复值(数据类型转换的优先顺序)
    -连续的数字用冒号:
    -函数:重复的用rep(),有规律的用seq(),随机数用rnorm()
    -组合:paste0()一对一的连接,循环补齐

    6.变量名不用c,是个函数c()
    万物皆可赋值

    max(x) #最大值
    min(x) #最小值
    mean(x) #均值
    median(x) #中位数
    var(x) #方差
    sd(x) #标准差
    sum(x) #总和
    
    length(x) #长度,向量里元素的个数
    unique(x) #去重复,只留下每个元素第一次出现的结果
    duplicated(x) #对应元素是否重复,重复TRUE,返回结果为逻辑值的函数; !duplicated(x),重复为FALSE
    table(x) #重复值统计
    sort(x)#排序,默认从小到大排序
    sort(x, decreasing = T) #从大到小排序
    
    ==#逻辑比较,生成等长的逻辑向量,x和对应位置的y是否相等,一对一;xy长度不一样,循环补齐,短的补齐长的,跟顺序没有关系
    != #是否不相等
    x%in% y#x的元素是否存在y中,谁在前面谁就是核心
    paste(x,y,sep=":") #一对一连接,:分隔符
    
    intersect(x,y)#交集
    union(x,y)#交集,默认去重复
    setdiff(x,y)#差集,x中存在,y中不存在;谁在前面谁就是核心
    

    8.循环补齐简化代码
    生成sample4,sample8,sample12…sample28

    paste0(rep("sample",times=7),
           seq(from=4,to=30,by=4)) 
    
    y = seq(from=8,to=30,by=4)
    paste0(rep("sample",times=length(y)),y) 
    
    y = seq(from=8,to=30,by=4)
    x = rep("sample",times=length(y))
    paste0(x,y) 
    
    y = seq(from=8,to=30,by=4)
    paste0("sample",y)
    

    9.向量筛选的思路
    从1000个基因名中选出指定的30个
    -把1000个基因名赋值给x
    -把30个基因名赋值给y
    -x%in%y,返回1000个逻辑值,挑选结果为true的

    或者取交集

    10.向量筛选
    -根据逻辑值进行筛选:

    x[x==10]#向量的筛选,取子集,中括号里面单独运行,生成与x等长的逻辑值向量,将true对应的值挑选出来,false丢弃
    

    -根据位置进行筛选:中括号里是X的下标组成的向量

    x[c(1,5)]
    x[-4]#去掉第四个
    x[-(2:4)]
    

    相关文章

      网友评论

          本文标题:2021-03-02生信技能树-生信入门D2

          本文链接:https://www.haomeiwen.com/subject/gumxqltx.html