对象的基本类型
字符
1 | x <- "hello world" |
数值
1 | x <- 2 |
整数
1 | x <- 2l |
复数
1 | x <- 1+2i |
逻辑
1 | x <- TRUE |
对象的属性
名称
维度
类型
长度
向量
只能包含同一类型的对象
创建向量
1 | x <- vector("character", length = 10) |
向量的强制转换
1 | x3 <- c(TRUE,10,"a") // 强制转换为 char |
为向量添加名称
1 | x1 <- c(1,2,3,4) |
矩阵
向量+维度
1 | // 默认是 NA,缺省值 |
创建矩阵的另外一种方式
1 | y<- 1:6 // 创建向量 |
矩阵的拼接
1 | // 按行 |
数组
类似矩阵,只是维度可以大于2
创建数组
1 | x <- array(1:24, dim = c(4,6)) // 四行六列的矩阵 |
列表
创建
1 | x <- list("a",2,10L,2+3i,TRUE) |
给列表元素命名
1 | x1 <- list(a=1,b=2,c=3) |
列表元素为向量
1 | x2 <- list(c(1,2,3), c(4,5,6)) |
创建有名矩阵
1 | x <- matrix(1:6, nrow = 2, ncol = 3) |
因子
创建因子
1 | x <- factor(c("female", "female", "male", "male", "female"), levels = c("male", "female")) |
1 | table(x) -- 获取因子整体信息 |
1 | unclass(x) -- level 为属性,去掉属性 |
缺失值
NA/NAN
:NAN属于NA,NA不属于NANNA有类型属性
:integer NA、character NA…is.na()/is.nan()
:判断
1 | x <- c(1,NA,2,NA,3) |
数据框
1 | // 按列 |
查询行和列
1 | nrow(df) |
转换矩阵
1 | df2 <- data.frame(id=c(1,2,3,4), score=c(80,82,90,100)) |
日期和时间
日期
距离1970-01-01的天数
1 | x <- date() |
日期对象的函数
1 | weekdays(x3) |
日期之间的数学运算
1 | x4 <- as.Date("2016-01-01") |
时间
距离1970-01-01的秒数
POSIXct
:整数,常用于存入数据框POSIXlt
:列表,还包含星期、年、月、日等信息
1 | x <- Sys.time() |
1 | x1 <- "Jan 1, 2015 01:01" |