gpt4 book ai didi

r - 序列构造,如果lower大于上限,则创建一个空序列

转载 作者:行者123 更新时间:2023-12-04 03:04:56 27 4
gpt4 key购买 nike

seq的极端情况下,R的lower == upper - 1函数的“聪明”使我深受其害:

> 1:0
[1] 1 0
> seq(1, 0)
[1] 1 0
> seq(1, 0, 1)
Error in seq.default(1, 0, 1) : wrong sign in 'by' argument

我并不是在问这种奇怪行为的原因,而是因为它只是我们必须忍受的遗产。相反,我想知道是否有任何程序包实现了 seq运算符,该运算符在这种情况下会返回空序列,如下所示:
safe.seq.int <- function(from, to, by=1) {
if (from > to) integer(0) else seq.int(from, to, by)
}

> safe.seq.int(1, 0)
integer(0)

最佳答案

正是出于这个原因,使用seq_len(n)而不是1:n是一个好习惯-如果是n=0,那么您会得到一个空序列而不是c(1,0)

希望这可以帮助

关于r - 序列构造,如果lower大于上限,则创建一个空序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10922169/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com