如何使用带有排序提示的向量以正确的顺序放置变量?

时间:2014-10-04 14:28:54

标签: r

我正在使用不同数量的变量生成数据帧,这些变量在大多数情况下位于错误的位置。

e.g。这个数据框

df <-   structure(list(A = c(1, 2, 3, 4, 5), F = c(5, 4, 3, 2, 1), D = c(5, 
    5, 4, 4, 1)), .Names = c("A", "F", "D"), row.names = c(NA, 5L
    ), class = "data.frame")


  A F D
1 1 5 5
2 2 4 5
3 3 3 4
4 4 2 4
5 5 1 1

我有一个向量可以帮助我知道正确的顺序应该是什么,例如:

c("A","B","C","D","E","F")

如何以编程方式使用此向量put以正确的顺序生成我的数据帧?

根据载体,这应该是结果:

  A D F
1 1 5 5
2 2 5 4
3 3 4 3
4 4 4 2
5 5 1 1

有什么想法吗?非常欢迎!

1 个答案:

答案 0 :(得分:3)

intersect应该适用于此:

df[intersect(colorder, names(df))]
#   A D F
# 1 1 5 5
# 2 2 5 4
# 3 3 4 3
# 4 4 4 2
# 5 5 1 1