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语言用什么数据类型能画什么图,很重要,基础很重要!
网友评论