3

これらの 2 つの 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 に答える