2016-12-30 62 views
1

讓我們想象一下,我有一個具有3個不同變量ID的數據集。R:爲匹配ID分配值

RowID,這基本上是這樣的:data $ rownumber = 1:nrow(data)。然後, ID,這是公司標識符。最後,ID2,告訴它ROWID是最接近

RowID = c(1, 2, 3, 4, 5, 6) 
ID = c(123, 456, 789, 712, 409, 587) 
Price = c(200, 300, 400, 100, 50, 10) 
ID2 = c(2, 1, 1, 1, 3, 3) 
df = data.frame(RowID, ID, Price, ID2) 
df 
RowID ID Price ID2 
1  123 200 2 
2  456 300 1 
3  789 400 1 
4  712 100 1 
5  409 50 3 
6  587 10 3 

我想通過使用ID的值來代替ID2的值,使我的數據看起來像這樣的用戶:

RowID ID Price ID2 ID3 
1  123 200 2 456 
2  456 300 1 123 
3  789 400 1 123 
4  712 100 1 123 
5  409 50 3 789 
6  587 10 3 789 

我的數據真的很大,當然這只是它的外觀示例。

謝謝!

回答

0

我們可以只使用「ID2」作爲數字索引

df$ID3 <- with(df, ID[ID2]) 
df 
# RowID ID Price ID2 ID3 
#1  1 123 200 2 456 
#2  2 456 300 1 123 
#3  3 789 400 1 123 
#4  4 712 100 1 123 
#5  5 409 50 3 789 
#6  6 587 10 3 789 
+1

@ lescobedo21心靈經歷http://stackoverflow.com/help/someone-answers來完成這一問題,如果回答 –