如何使用冒号运算符来反转向量的顺序

时间:2018-02-20 23:32:41

标签: r

如何使用冒号运算符来反转R中向量的顺序。我尝试再次对向量进行排序,但这不对。

1 个答案:

答案 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()来执行此操作,并且在大多数情况下可能是更好的选择。