R中seq()和sequence()之间的差异是什么?

时间:2016-01-19 19:03:19

标签: r sequence seq

我是R的新手,我想知道seq()sequence()之间有什么区别。两者都输入R会得到不同的结果:

> seq(c(10,5))
[1] 1 2
> sequence(c(10,5))
 [1]  1  2  3  4  5  6  7  8  9 10  1  2  3  4  5

任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:4)

如果您有任何疑问,一个好的起点是使用help()?命令查看帮助文件。

如果查看?seq的帮助文件,它会说它通常需要一些参数:

## Default S3 method:
seq(from = 1, to = 1, by = ((to - from)/(length.out - 1)),
    length.out = NULL, along.with = NULL, ...)

因此,如果您执行seq(from = 1, to = 10)seq(1, 10)之类的操作,它会为您提供1到10之间的向量:

seq(1, 10)
[1] 1  2  3  4  5  6  7  8  9  10

您对seq()的使用不多见,但行为记录在帮助文件的较低位置

  

[seq(from)]生成序列1,2,...,length(from)(就像指定了参数along.with一样),除非参数是长度为1的数字[。 ..]

因此,seq(c(1, 10))将输出一个“1,2”的序列,因为它给出的唯一参数是长度为2的向量。

sequence()的行为更直截了当,并在帮助文件中简明扼要地解释(从?sequence访问)。此外,行为的示例显示在帮助文件的底部。

sequence(c(3, 2)) # the concatenated sequences 1:3 and 1:2.
#> [1] 1 2 3 1 2

欢迎来到R中精彩而又古怪的编程世界。我建议您首先学习R语言的基础知识,并在提出基本问题之前查看帮助文件和文档,并将stackoverflow保留为解决更多资源的资源困难的编程问题。