(学习内容参考北京大学李东风老师《R语言教程》)
3. 常量与变量
3.1 常量
常量是指直接写在程序中的值。
-
数值型常量包括整型、单精度、双精度等,一般不需要区分。写法如
123
,123.45
,-123.45
,-0.012
,1.23E2
,-1.2E-2
等。 为了表示123
是整型,可以写成123L
。 -
字符型常量用两个双撇号或两个单撇号包围,如
"Li Ming"
或'Li Ming'
。 字符型支持中文,如"李明"
或'李明'
。 国内的中文编码主要有GBK编码和UTF-8编码, 有时会遇到编码错误造成乱码的问题,MS Windows下R程序一般用GBK编码,但是RStudio软件采用UTF-8编码。 在R软件内字符串一般用UTF-8编码保存。 -
逻辑型常量只有TRUE和FALSE。
-
缺失值用NA表示。统计计算中经常会遇到缺失值,表示记录丢失、因为错误而不能用、节假日没有数据等。 除了数值型,逻辑型和字符型也可以有缺失值, 而且字符型的空白值不会自动辨识为缺失值,需要自己规定。 R支持特殊的Inf值,这是实数型值,表示正无穷大,不算缺失值。
-
复数常量写法如
2.2+ 3.5i
,1i
等。
3.2 变量
程序语言中的变量用来保存输入的值或者计算得到的值。 在R中,变量可以保存所有的数据类型, 比如标量、向量、矩阵、数据框、函数等。
变量都有变量名,R变量名必须以字母、数字、下划线和句点(英文句号)组成, 变量名的第一个字符不能取为数字。 在中文环境下,汉字也可以作为变量名的合法字符使用。 变量名是区分大小写的, y和Y是两个不同的变量名。
- 变量名举例: x, x1, X, cancer.tab, clean_data, diseaseData
- 可以用赋值的方法
<-
定义变量,如下:
x5 <- 6.25
x6 = sqrt(x5)
此时,右上角环境界面出现如下:
- R的变量没有固定的类型, 给已有变量赋值为新的类型, 该变量就变成新的类型, 但一般应避免这样的行为。 R是“动态类型”语言, 赋值实际上是“绑定”(binding), 即将一个变量名与一个存储地址联系在一起, 同一个存储地址可以有多个变量名与其联系。
3.3 R数据类型
R语言基本的数据类型有数值, 逻辑型(TRUE, FALSE),文本(字符串)。 支持缺失值,有专门的复数类型。
R语言数据结构包括向量,矩阵和数据框,多维数组, 列表,对象等。数据中元素、行、列还可以用名字访问。 最基本的是向量类型。 向量类型数据的访问方式也是其他数据类型访问方式的基础。