建立向量
建立一个向量
a <- 5
b <- TRUE
c <- "Beijing"
在 R 语言中,TRUE
和FASLE
要全部大写,可以简写为T
或F
。
用c
函数创建多个向量
a <- c(1, 2, 5, 3, 6, -2, 4)
b <- c("one", "two", "three")
c <- c(TRUE, TRUE, TRUE, FALSE, TRUE, FALSE)
d <- c(1:10) # 或 d <- 1:10
x <- c()
最后一个建立了一个空向量,这样的好处是便于今后好加入新的值。
使用seq
函数生成等差序列的向量
sep
函数的原型如下:
# 默认的S3方法
seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),
length.out = NULL, along.with = NULL, ...)
seq.int(from, to, by, length.out, along.with, ...)
其中from
是首项,默认为1;to
是末项,默认为1;by
是步长或等差增量,可以为负数,当没有指定to
末项的时候,默认为1。
还有简单形式的两个函数:
seq_along(along.with)
seq_len(length.out)
length.out
是向量的长度(length.out
通常缩写为length
或len
);along.with
用于指明该向量与另外一个向量的长度相同。
例子:
seq(from = 1, to = 10) # 从1输出到10
seq(from = 1, to = 10, by = 2) # 从1开始,步长为2,最大不超过10
seq(from = 1, to = 9, length = 5) # 从1开始,最大不超过9,输出5个,系统可以自动计算步长
s3 <- seq(from = 3, by = 3, length = 5)
>>> [1] 3 6 9 12 15
s4 <- seq(by = 3, along.with = s3) # 长度与s3一致
>>> [1] 1 4 7 10 13
如果只需要与s3
有相同数据量,则可以使用
s4 <- seq_along(s3)
# 或者
seq(length.out = 5)
# 或者
seq_len(5)
>>> [1] 1 2 3 4 5
使用rep
函数创建重复序列的向量
rep
函数的原型如下:
rep(x, times = 1, length.out = NA, each = 1)
其中x
为要重复的序列对象;times
为重复的次数,默认为1;length.out
为产生的向量长度,默认为NA(未限制);each
为每个元素重复的次数,默认为1。
例子:
rep(c(1:3), times = 2)
>>> [1] 1 2 3 1 2 3
rep