2014-05-14 38 views
-6

我有一個數據幀貌似爲每名搜索最小值並返回根據行

name val Info 
a 1.1 'Info_a1.1' 
a 0.1 'Info_a0.1' 
b 0.2 'Info_b0.2' 
a 0.3 ... 
b 0.4 
c 0.4 
c 0.5 

我要找到每個名字的最低VAL,並返回行(唯一的一個是足夠多)看起來像

name val Info 
a 0.1 'Info_a0.1' 
b 0.2 'Info_b0.2' 
c 0.4 'Info_c0.4' 
... 

我該怎麼做。

+0

搜索棧溢出了 「裂應用於-結合」。 – Roland

回答

2

還是一個data.table解決方案

library(data.table) 
setDT(dat)[, list(val = min(val), Info = Info[which.min(val)]), by = name] # dat is your data set 

## name val  Info 
##1: a 0.1 Info_a0.1 
##2: b 0.2 Info_b0.2 
##3: c 0.4 Info_c0.4