根据 R 中另一个的值对向量进行排序
在本文中,我们将使用 R 编程语言根据另一个向量中的值对向量进行排序。
我们可以使用 match() 和 order()函数根据第二个向量中的值对向量值进行排序。 match()函数用于将第一个向量的值匹配到第二个向量。 sort()函数用于对向量进行排序
句法:
vector1[order(match(vector1,vector2))]
在哪里,
- vector1 是第一个向量
- vector2 是第二个向量
示例 1 :R 程序根据第二个向量中的值对数值向量进行排序
R
# create a vector 1 with 10 elements
vector1=c(1,2,3,4,5,6,7,8,9,10)
# create a vector2
vector2=c(10,4,1,5,3,7,2,6,9,8)
# sort vector 1 based on values in vector2
print(vector1[order(match(vector1,vector2))])
R
# create a vector 1 with 20 elements
vector1=c(1,2,3,4,5,6,7,8,9,10,1:10)
# create a vector2
vector2=c(10,4,1,5,3,7,2,6,9,8)
# sort vector 1 based on values in vector2
print(vector1[order(match(vector1,vector2))])
输出:
[1] 10 4 1 5 3 7 2 6 9 8
示例 2:使用重复元素排序
电阻
# create a vector 1 with 20 elements
vector1=c(1,2,3,4,5,6,7,8,9,10,1:10)
# create a vector2
vector2=c(10,4,1,5,3,7,2,6,9,8)
# sort vector 1 based on values in vector2
print(vector1[order(match(vector1,vector2))])
输出:
[1] 10 10 4 4 1 1 5 5 3 3 7 7 2 2 6 6 9 9 8 8