简介
向量是R中最常见的数据结构之一,它由一组同类型(character,integer,boolean…)的数据构成。
R中单个的数据,如数字1,字符串’abc’都可以视为长度为1的向量。
创建向量
使用c()创建向量,会将所有数据强制转换为一种数据类型
1 | > c(2,4,6) |
创建一个递增序列
1 | > 1:4 |
提取向量子集
通过位置筛选
R中向量的位置从1开始
1 | > a <- 1:5 |
通过布尔值筛选
很多向量的函数(is.na,%in%,grepl…)返回结果都是布尔值,所以这些函数的结果都可以用来提取向量的子集。
1 | > a <- 1:5 |
向量函数
数据类型转换
基础类型转换
as.character
as.logical
as.numeric
as.factor
as.Date
小数转整数
round:四舍五入
floor:舍掉小数部分,取整
ceiling:舍掉小数部分,加1取整
1 | > round(1.4) |
日期与字符串
日期处理扩展包:lubridate
1 | # 日期转化为字符串 |
字符串处理
字符串处理扩展包:stringr
length,nchar
1 | # length计算的是向量的长度,nchar计算的是向量内每个元素的字符个数 |
tolower,toupper
1 | > tolower('AbcD') |
paste
1 | # 拼接两个向量 |
strsplit
1 | # strsplit函数返回的结果是一个列表,fixed = FALSE表示正则匹配,TRUE表示完全匹配 |
substr
1 | > a <- c('a,b,c','d,e') |
match,%in%
1 | # match返回位置 |
grep,grepl,sub,gsub
这几个函数都是默认的fixed = FALSE,使用正则匹配
1 | # grep返回匹配到的位置 |
逻辑计算
与(&,&&),或(|,||),非(!)
1 | # &,|是向量单个元素之间的计算,返回结果仍然是一个布尔值向量 |
any,all,which
1 | > b <- c(TRUE,FALSE,TRUE) |
ifelse
1 | > ifelse(1==1,TRUE,FALSE) |
数学计算
min,max,sum,mean,quantile(百分位数)
That’s all.
Happy writing!