2017-03-20 35 views
0

我有標識(名稱)的數據幀,如下圖所示:如何將連續數字歸入數據框中的元素?

head(ped1) 
V1  V2  V3 
31701 31272 25526 
31702 31272 26002 
31703 31272 25861 
31704 31272 24324 
31705 31272 31413 
31706 31272 31701 

我需要屬性爲第一列新的ID(順序號)的每個元素。此外,V1和V3中的ID可以顯示在V1和V3中。

所以ID必須在其他列相匹配,以及像這樣:

 head(ped1) 
    V1  V2  V3 
    1  7  8 
    2  7  9 
    3  7  10 
    4  7  11 
    5  7  12 
    6  7  1 

如何屬性新的ID?

+0

請創建您的問題與ID,後代等虛擬列名的忠實代表。並突出顯示歸因的一個示例,請參閱[如何發佈一個很好的重現示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)以獲取更多詳細信息 – OdeToMyFiddle

+0

對不起,我是新來的。它更清楚嗎? –

回答

0

這是一個基於R的方法,使用matchsapply上的獲得的ID的獨特向量。

# get IDs as a vector 
ids <- unique(unlist(df)) 

# produce data.frame with new ids by feeding each variable to match, using ids as table 
data.frame(lapply(df, match, table=ids)) 
    V1 V2 V3 
1 1 7 8 
2 2 7 9 
3 3 7 10 
4 4 7 11 
5 5 7 12 
6 6 7 1 

數據

df <- read.table(header=TRUE, text="V1  V2  V3 
31701 31272 25526 
31702 31272 26002 
31703 31272 25861 
31704 31272 24324 
31705 31272 31413 
31706 31272 31701") 
相關問題