2013-06-26 64 views
1

我有一些数据:分类由一组动态的另一个数据帧命名的列在R中一个数据帧

dd <- data.frame(cbind(c("A", "A", "B"), c("F", "E", "D"), c(1, 2, 3))) 
names(dd) <- c("colA", "colB", "colC") 

,我有一个查找框LK

lk <- data.frame(rbind(c("colA", "colC"), c("colB", "colC"))) 
names(lk) <- c("srt_col", "srt_metric") 

而且我想什么按照查找框架中的名称排序数据。

喜欢的东西:

dd[ order(lk[, 1]), ] 

应该给的

output data (roughly, you get the idea I hope) 
A E 2 
A F 1 
B D 3 

输出,但我似乎无法得到正确的语法,我觉得我缺少明显的东西在这里。任何人都可以帮忙吗?

+0

将[这里](http://stackoverflow.com/questions/17284042/replace-values-from-list-into-numbers-then-perform-arithmetic-calculation)工作? – Metrics

回答

6

这是刺伤它。

dd[do.call(order, dd[as.character(lk[, 1])]), ] 

as.character是为了避免任何可能的factor恶作剧。

+1

这引发了这个问题 - 'lk $ srt_metric'有什么意义? – thelatemail

相关问题