可能重复:
How to generate a vector containing a numeric sequence?
在R中,如何获得1到100之间的数字列表?其他语言有一个功能'范围'来做到这一点。 R的范围完全不同。
> range(1,100)
[1] 1 100
答案 0 :(得分:86)
您的错误是寻找range
,它会为您提供向量的range
,例如:
range(c(10, -5, 100))
给出
-5 100
相反,请查看:
运算符以提供序列(步长为1):
1:100
或者您可以使用seq
函数进行更多控制。例如,
##Step size of 2
seq(1, 100, by=2)
或
##length.out: desired length of the sequence
seq(1, 100, length.out=5)
答案 1 :(得分:3)
如果您需要使用构造作为快速示例,请使用:operator。
但是如果要动态创建矢量/数字范围,请改用seq()。
假设您正在使用a:b创建a到b的向量/数字范围,并且您希望它是一个增加的系列。然后,如果b被评估为小于a,你将得到一个递减的序列,但你永远不会得到通知,你的程序将继续以错误的输入执行。
在这种情况下,如果使用seq(),则可以设置 by 参数的符号以匹配序列的方向,如果它们不匹配,则会引发错误。例如,
seq(a, b, -1)
将引发a = 2,b = 6的错误,因为编码器预期序列会减少。