向量
创建
- 使用冒号运算符创建
- 使用c函数拼接数值和向量,例:
- 使用每个类型的包装函数创建,例:
- seq函数
可以直接调用seq函数,也可以调用下面三个专门的序列函数,它们运行更快更易用
seq.int(a,b,n)
#创建从a到b的步长为n的序列,n默认为1
seq_len(n)
#创建从1到n的序列
seq_along(list_)
#创建一个从1开始,长度等于序列list_的长度的序列,list_为任意一个序列
长度
使用length查看向量的长度,缺失值也会被计入长度。对于字符串向量,length返回向量中所含字符串的数目,nchar返回向量中每个字符串的字符长度
命名
- 可以使用name=value的形式在创建向量的时候为其指定名称,一般如果元素的名称是有效的,可以不用引号括起来,否则要用引号,方便记忆可以都加引号。可以仅仅指定部分名称。
- 也可以使用names添加或获取向量的名称
索引向量
访问响亮的部分或个别元素,使用方括号 []
注意事项:
- R默认向量第一个位置索引为1而不是0
- 传入负数,返回除了其对应位置外的其他所有元素
- 传入逻辑向量,返回索引为TRUE的元素
- 已命名的向量传入命名的字符向量,返回向量中包含这些名字的元素
- 不能混合使用正负索引
- 缺失索引不能使用负的下标,若使用正的下标或者逻辑索引,返回值也是缺失值。
- 超出范围的索引返回NA
- 非整数索引向零取整
- which返回逻辑向量中为TRUE的位置,which.min返回向量中最小值,which.max返回向量中最大值。
向量循环和重复
- 向量加一个数等于向量中每个元素与这个数相加
- 两个向量相加,循环较短的向量以配合较长的向量,再将元素对应相加
- 如果向量长度不是倍数关系,仍然会循环计较短向量,对应相加,但会有警告
注:不同长度向量相加最好先把他们变成相同长度的向量,以免出错,可使用rep函数进行上述操作