如何使用冒号运算符来反转R中向量的顺序。我尝试再次对向量进行排序,但这不对。
答案 0 :(得分:3)
如果你必须以某种方式使用冒号运算符来反转向量,那么我会这样做:
vec[length(vec):1]
length(vec):1
生成一个从length(vec)
向下运行的序列(例如50, 49, 48, ..., 3, 2, 1
,用于索引vec
。
示例:
vec = rpois(34, 5)
vec
[1] 3 12 8 5 4 3 8 4 4 3 2 11 6 7 2 6 6 5 4 3
4 4 7 7 2 7 5 7 5 9 7 4 3 5
vec[length(vec):1]
[1] 5 3 4 7 9 5 7 5 7 2 7 7 4 4 3 4 5 6 6 2
7 6 11 2 3 4 4 8 3 4 5 8 12 3
all(vec[length(vec):1] == rev(vec))
[1] TRUE
如示例中所示,R中已经内置了一个函数rev()
来执行此操作,并且在大多数情况下可能是更好的选择。