3

考虑这两个 df 示例

df1=data.frame(names=c('a','b','c'),value=1:3)
df2=data.frame(names=c('c','a','b'),value=1:3)

以便

> df1
  names value
1     a     1
2     b     2
3     c     3
> df2
  names value
1     c     1
2     a     2
3     b     3

现在,我想将 排序为与 中的列df1相同的顺序,以获得namesdf2

names value
c     3
a     1
b     2

我怎样才能做到这一点?

4

1 回答 1

7

尝试

df1[match(df2$names,df1$names),]

> df1[match(df2$names,df1$names),]
  names value
3     c     3
1     a     1
2     b     2
于 2012-08-08T15:26:19.787 回答