【发布时间】:2018-11-22 15:15:43
【问题描述】:
我想生成类似于10, 7, 4, 1的序列
seq 函数做不到(开始大于停止)。什么功能可以做到这一点?我不想循环遍历我的序列(这将非常耗时,因为我需要像这样处理大量向量)。
> seq(10, 0, by=3)
seq.default(10, 0, by = 3) 中的错误:'by' 参数中的错误符号
【问题讨论】:
我想生成类似于10, 7, 4, 1的序列
seq 函数做不到(开始大于停止)。什么功能可以做到这一点?我不想循环遍历我的序列(这将非常耗时,因为我需要像这样处理大量向量)。
> seq(10, 0, by=3)
seq.default(10, 0, by = 3) 中的错误:'by' 参数中的错误符号
【问题讨论】:
seq(from = 10, to = 0, by = -3)
【讨论】:
另一种方法是创建逻辑向量和子集。
n <- 3
(10:0)[c(TRUE, rep(FALSE, n - 1))]
#[1] 10 7 4 1
【讨论】:
10 - 0:3 * 3
#[1] 10 7 4 1
或者获取整数(不是浮点数):
typeof(10 - 0:3 * 3)
#[1] "double"
10L - 0:3 * 3L
#[1] 10 7 4 1
【讨论】: