R语言数据类型

作者: Ashu | 来源:发表于2022-05-17 18:49 被阅读0次

    R语言数据类型

    在这里只讲三种数据类型

    数值型(numeric)

    字符型(character)

    逻辑型(logical)

    来自生信技能树小洁老师课件图

    在R语言里的数据框严格区分列(名)与行。第1列(gene)是字母和数字的组合,第2列(logFC)是数字,第3列(positive)为逻辑值,第4列(group)为字母和数字的组合,有重复。

    1.数值型(numeric)

    如1.3, 2,数字是最直观的,直接写就可以,可以做运算。

    2.字符型(character)

    包含英文基因名,分组等,不是纯数字的东西写在代码里,不能凭空写,一定加上引号,如”a“,”nn“,不加引号会报错,引号单或双引号都可以。

    3.逻辑型(logical)

    R语言里严格区分大小写和中英文,逻辑值只认识TRUE或是T,FALSE或是F,第三种取值为NA缺失值(未知值),NA是存在但是未知,有一种叫不存在,不属于NA。数值型和字符型也有NA,意味着NA可以存在三种数据类型中。

    判断数据类型的函数:class(),将要判断的内容写在括号里。

    #分别判断”a“,TRUE,3是什么数据类型?
    class("a")
    #[1] "character"
    #注意a要加引号,a是不加引号的情况,如a=1,a被赋值,是变量,可以直接写成class(a),不需要加引号。
    ##用class()判断,字符要加引号,变量名不加引号。
    class(TRUE)
    [1] "logical"
    class(3)
    [1] "numeric"
    

    数值型在R语言里可以做计算;字符型里存放各种信息,如基因名字,分组信息等。计算机最底层就是1和0;逻辑型,在这里讲TRUE和FALSE,作用其它运算的返回结果会是逻辑值,非常重要。

    3.1逻辑型数据
    • 比较运算的结果是逻辑值:>, <, <=, >=, ==, !=
    ######比较运算的简单做法
    2==6
    ##2和6是相等的吗?
    #[1] FALSE
    5!=7
    ##5不等于7吗?
    #[1] TRUE
    

    !表示否定的意思

    • 逻辑运算多个逻辑条件的连接与&或|非!
    ######比较运算的复杂化(用多个条件连接到一起成为一个新的条件去判断)
    7<9&8>9
    #[1] FALSE
    ##&为and的意思,两个条件同时满足吗,同时满足返回TRUE,不同时满足返回FALSE。&连接的多个条件只要一个条件不满足,返回FALSE。
    
    7<9|8>9
    #[1] TRUE
    ##|为或者的意思,连接的多个条件,只要有一个满足,就返回TRUE。
    
    !(4>5)
    #[1] TRUE
    ##!表示非,TRUE变FALSE,FALSE变TRUE,白的为黑,黑的为白
    

    4.数据类型的判断和转换

    4.1 is族函数,判断,返回值为TRUE和FALSE

    is.numeric():是否数值型数据
    is.logical():是否逻辑型数据
    is.character():是否字符型数据

    is问:xx数据属于数值型吗?

    回答:是(TRUE)或否(FALSE)

    is.numeric('ABC')
    #[1] FALSE
    ##判断ABC属于数值型吗?不是返回FALSE。
    is.numeric('68')
    #[1]FALSE1
    ##'68'带引号为字符型,不是数值型,所以返回是FALSE。
    
    4.2 as族函数实现数据类型之间的转换。

    as.numeric():将其他数据类型转换为数值型
    as.logical():将其他数据类型转换为逻辑型
    as.character():将其他数据类型转换为字符型

    as.numeric("8")
    #[1] 8
    ##如果有成千上百个数需要转换,先赋值给一个变量,括号里只写变量的名字,就可以实现批量转换。
    

    补充知识:

    需要在Rstudio里通过运行代码来直观感受R语言数据类型。了解初学者经常遇到的几种报错,知道怎么解决以及避免报错,对后面的学习(或是实战)非常有用。

    常见报错与避免报错

    常见报错:

    引号不成对,函数名字拼写错误,英文字母不区分大小写。

    报错信息永远出现Error这个关键词。

    来自生信技能树小洁老师课件图

    截图里最后一个报错:class?,问号在哪儿就错在哪儿,因为使用中文输入法的括号。

    报错Error后常出现的提示信息

    • object表示数据有问题;

    • function表示函数有问题;

    • unexpected表示代码有问题,出现什么对应从哪儿操作。

    避免错误的小窍门:
    • 第一个小窍门:键盘上的上下键

    控制台上运行命令出错了,想改。

    光标放在>后面,摁向上键,即可修改上一条命令重新运行。在控制台运行过的命令直接可以按键盘上的上下键进行翻看,可以修改。比如class(a),忘了加引号,在控制台上的>后面按向上键,双击a选中,按shift键之后按引号键,注意一定是在英文状态下操作。

    • 第二个小窍门:Tab键

    打出前几个字母,即出现提示,摁上下键可翻动,按tab键可自动补全。对于名字长的函数,输入前几个字母,按tab键补全,避免手写错误。

    需要用引号,一般先写引号,或是写完后选中,按shift“ ”,引号一定要成对出现。

    说明

    以上内容是听生信技能树小洁老师的R语言线上课,根据自己的理解记录下来,小洁老师授课非常细心,对不同水平的同学都照顾到,并且补充很多技巧以及注意事项。

    R语言有两大功能:统计数据和可视化(作图)。了解R语言的数据类型,知道R语言用什么数据类型能画什么图,很重要,基础很重要!

    相关文章

      网友评论

        本文标题:R语言数据类型

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