基本数据类型

据类型

  • 向量 vector
  • 矩阵 matrix
  • 数组 array
  • 数据框 data frame
  • 因子 factor
  • 列表 list

向量

  • 单个数值(标量)没有单独的数据类型,它只不过是向量的一种特例
  • 向量的元素必须属于某种模式(mode),可以整型(integer)、数值型(numeric)、字符型(character)、逻辑型(logical)、复数型(complex)
  • 循环补齐(recycle):在一定情况下自动延长向量
  • 筛选:提取向量子集
  • 向量化:对向量的每一个元素应用函数
  • 使用seq()创建向量
  • 使用rep()重复向量常数

矩阵

矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数。所以矩阵也和向量一样,有模式的概念,例如数值型或字符型。(但反过来,向量却不能看作是只有一列或一行的矩阵。)

  • 创建矩阵
  • 矩阵运算
  • 索引
  • 增加或删除行(列)

数组

数组(array)是r里一个更一般的对象,矩阵是数组的一个特殊情形。数组可以是多维的。例如一个三维的数组可以包含行、列和层(layer),而一个矩阵只有行和列两个维度。

array(data = na, dim = length(data), dimnames = null)
as.array(x, ...)
is.array(x)

列表

向量的元素要求都是同类型的,而列表(list)与向量不同,可以组合多个不同类型的对象

数据框

数据框类似矩阵,有行和列这两个维度。然而,数据框与矩阵不同的是,数据框的每一列可以是不同的模式(mode)。例如,某列可能由数字组成,另一列可能由字符串组成。

因子

因子的设计思想来源于统计学中的名义变量(nominal variables),或称之为分类变量(categorical variables)。这些变量的值本质上不是数字,而是对应为分类,例如民主党、共和党和无党派,尽管它们可以用数字编码。

算术运算

  • x + y 加法
  • x – y 减法
  • x * y 乘法
  • x / y 除法
  • x ^ y 乘幂
  • x %% y 模运算
  • x %/% y 整数除法

逻辑运算

  • x == y 判断是否相等
  • x <= y 判断是否小于等于
  • x >= y 判断是否大于等于
  • x && y 标量的逻辑“与”运算
  • x || y 标量的逻辑“或”运算
  • x & y 向量的逻辑“与”运算(x、y以及运算结果都是向量)
  • x | y 向量的逻辑“或”运算(x、y以及运算结果都是向量)
  • !x 逻辑非
  • 逻辑值true和false可以缩写为t和f(两者都必须是大写)。而在算术表达式它们会转换为1和0

函数

 g <- function(x) {
  return(x+1)
}

函数也是对象

条件语句

if (r == 4) {
 x <- 1
} else {
 x <- 3
 y <- 4
}

循环语句

  • for
  • while
  • repeat

repeat没有逻辑判断退出条件,必须利用break(或者类似return())的语句。当然,break也可以用在for循环中。

代码格式化工具

library(formatr)

到此这篇关于r语言基本语法深入讲解的文章就介绍到这了,更多相关r语言基本语法内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!