seq.int有哪些限制?


15

seq手册页指出以下(重点煤矿):

描述

生成规则序列。seq是具有默认方法的标准泛型。seq.int是一个原语,可以更快,但有一些限制

该页面实际上并未描述这些限制是什么。这里seq.int还有其他提及:

争论

[...]

length.out所需的序列长度。一个非负数,如果为小数seqseq.int则将对其进行四舍五入。

[...]

细节

[...]

的无名参数的解释seqseq.int不规范,并建议总是在节目命名的参数。

[...]

seq.int是一个内部泛型,它seq根据提供的第一个参数的类(在参数匹配之前)调度“ ”的方法。

seq.intseq_along并且seq_len是原始的。

seq.intseq用于数字参数的默认方法将返回类型为“ integer”或“ double” 的向量:程序员不应依赖于哪一个。

除了声明根据其第一个参数的类seq.int调度外seq,我看不到任何“限制”。

那么,这些限制是什么?


好的一点,我将添加帮助文件中提供的所有示例,它们与的seq工作方式完全相同seq.int,但速度显着提高,因此尚不清楚为什么要使用它seq。可能与twitter.com/BrodieGaslam/status/1196792003813621761
Moody_Mudskipper

这就是我问@Moody_Mudskipper的原因:我已经seq.int习惯了习惯,但是在手册页中看到了此注释,现在我想知道是否在不加思索地使用它的过程中承担了任何“风险”。
山葵

@Moody_Mudskipper,根据记录,“文档从未更新”将是一个完全可以接受且毫不奇怪的答案。
山葵

6
我会说“对于seq(仅),只要指定了length.out或withing.with,就可以将复数形式的from,to和by最多提供两个。更普遍的是,seq的默认方法将处理带有Math,Ops和Summary组通用方法。” 解释一个限制。您可以做到,seq(from = 0 + 1i, to = 10 + 1i, length.out = 11)但不能做到相同seq.int
罗兰

1
@Roland-也许您应该将该评论添加为答案
dww

Answers:


5

seq是用R编写的标准泛型函数。seq.int是用C编写的原始函数。尽管它们都是为了完成相同的工作而编写的,但由于它们平台的怪癖,它们有时可能会有一定的限制。以下是一个示例。

在此处输入图片说明

请注意,这是来自的旧版本,R在当前版本中已修复。在R的整个开发过程中都已观察到此类bug,并已尽快对其进行了修补。seqseq.int的当前版本现在看起来几乎相同。因此,对不应再有任何限制seq.int


感谢您的回答,您能张贴代码(例如reprex)而不是图像吗,并在回答中包含Roland的注释(如果他同时不发表自己的答案)。我也可以编辑您的答案,如果适合您自己动手做。
Moody_Mudskipper
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.