【发布时间】:2016-01-19 19:03:18
【问题描述】:
我是 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
谁能帮我解决这个问题?
【问题讨论】:
我是 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
谁能帮我解决这个问题?
【问题讨论】:
如果您有任何问题,最好从使用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 作为解决更多问题的资源编程难题。
【讨论】: