你如何在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.out
和along.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