我正在使用不同数量的变量生成数据帧,这些变量在大多数情况下位于错误的位置。
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
有什么想法吗?非常欢迎!
答案 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