2013-07-03 2 views
1

У меня есть набор данных, который выглядит следующим образом:распаковка и выравнивают строки на основе столбца значений

ID  Value ID2  Value2 
26390 1.1  26400 11.1 
26400 2.4  26405 11.8 
26405 15.6 26410 11.6 
26410 0  26420 11.9 
26420 0  26430 3.3 
26440 0  26455 5.9 

То, что я хочу сделать, это вытащить и выравнивать данные Value и значение2 для идентификаторов, которые сопоставляются. Например, это то, что я хотел бы получить обратно из выше:

ID  Value ID2  Value2 
26400 2.4  26400 11.1 
26405 15.6 26405 11.8 
26410 0  26410 11.6 
26420 0  26420 11.9 

Любые мысли о том, как это сделать в R? Спасибо!

ответ

3

Вы можете сделать это с помощью merge(). Предполагая, что ваши данные: dat:

dat.align <- merge(dat[,1:2], dat[,3:4], by.x = "ID", by.y = "ID2") 
dat.align 
#  ID Value Value2 
# 1 26400 2.4 11.1 
# 2 26405 15.6 11.8 
# 3 26410 0.0 11.6 
# 4 26420 0.0 11.9 
+0

Вы, сэр, только что сделали свой день. Спасибо. – user2544829

+0

Не беспокойтесь - я просто хочу, чтобы все вопросы были заданы так же четко, как и ваши! – alexwhan

Смежные вопросы