在R中追加不同顺序的值

时间:2014-05-16 00:57:46

标签: r

我在R中有两个数据元素:

      data1
1     M
2     T
3     Z
4     A
5     J

    data2 values
[1,] "A"   "aa"  
[2,] "J"   "ab"  
[3,] "M"   "ac"  
[4,] "T"   "ad"  
[5,] "Z"   "ae"  

我想得到:

     data1 values
[1,] "M"   "ac" 
[2,] "T"   "ad" 
[3,] "Z"   "ae" 
[4,] "A"   "aa" 
[5,] "J"   "ab" 

如何将值附加到数据1,以便根据数据1中的不同顺序对它们进行排序?

1 个答案:

答案 0 :(得分:2)

您可以使用match函数获取此行为:

dat1 = data.frame(data1=c("M", "T", "Z", "A", "J"), stringsAsFactors=FALSE)
dat2 = data.frame(data2=c("A", "J", "M", "T", "Z"),
                  values=c("aa", "ab", "ac", "ad", "ae"), stringsAsFactors=FALSE)
dat2[match(dat1$data1, dat2$data2),]
#   data2 values
# 3     M     ac
# 4     T     ad
# 5     Z     ae
# 1     A     aa
# 2     J     ab