这个问题不言自明。但是在 R 中有多个函数可以做同样的事情肯定是有原因的。
在循环内,是 seq_len()
之一或 :
在速度方面更受欢迎?
在我看来,文档并不能说明全部情况。
最佳答案
首先要注意seq_len(x)
显然比 seq()
更受限制: 前者生成从 1 到 x 的向量,而后者允许任意开始、结束和增量。
还有如果
x <- numeric(0)
y <- length(x)
你得到
1:y
[1] 1 0
但
seq_len(y)
integer(0)
所以前者在处理数组时可能是一个问题。
最后
seq_len()
比 seq()
快.正如对您的问题的评论中所提出的,这可以从一个简单的基准测试中看出:benchmark(seq(1,10^7),seq_len(10^7))
test replications elapsed relative user.self sys.self user.child
2 seq_len(10^7) 100 1.880 1.000 0.992 0.801
1 seq(1, 10^7) 100 2.645 1.407 1.094 0.940
关于r - seq_len(x) 总是比 1 快吗 :x in R? 一个比另一个更受欢迎吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48162359/