你如何在R中创建具有特定间隔的向量?

我有一个关于创建矢量的问题。 如果我做a <- 1:10 ,“a”的值为1,2,3,4,5,6,7,8,9,10。

我的问题是如何创建一个具有特定元素间隔的矢量。 例如,我想创建一个具有从1到100的值的向量,但只计算5的间隔,以便得到具有值5,10,15,20,...,95,100的向量

我认为在Matlab中我们可以做1:5:100 ,我们如何使用R来做到这一点?

我可以尝试做5*(1:20)但有一个更短的路? (因为在这种情况下,我需要知道整个长度(100),然后除以区间(5)的大小以获得20)


在R上的等价功能seq ,您可以用选项一起使用by

seq(from = 5, to = 100, by = 5)
# [1]   5  10  15  20  25  30  35  40  45  50  55  60  65  70  75  80  85  90  95 100

除了by你还可以有其他的选择,如length.outalong.with

length.out :如果您想要在0和1之间获得总共10个数字,例如:

seq(0, 1, length.out = 10)
# gives 10 equally spaced numbers from 0 to 1

along.with :它将您提供的矢量的长度作为输入,并提供1:length(输入)的矢量。

seq(along.with=c(10,20,30))
# [1] 1 2 3

虽然不是使用along.with选项,但建议在这种情况下使用seq_along 。 从?seq的文档

seq是通用的,这里只描述默认的方法。 请注意,它会调用第一个参数的类而不管参数名称。 如果只有一个参数被调用,这可能会产生意想不到的后果,因为这意味着将其视为一致:在这种情况下使用seq_along要好得多。

seq_along:而不是seq(along.with(.))

seq_along(c(10,20,30))
# [1] 1 2 3

希望这可以帮助。


使用代码

x = seq(0,100,5) #this means (starting number, ending number, interval)

输出将是

[1]   0   5  10  15  20  25  30  35  40  45  50  55  60  65  70  75
[17]  80  85  90  95 100
链接地址: http://www.djcxy.com/p/24867.html

上一篇: How do you create vectors with specific intervals in R?

下一篇: Creating vector of results of repeated function calls in R