簡體   English   中英

根據與另一個數據框的值匹配在數據框上創建新列

[英]Create a new column on a dataframe based on value match with another dataframe

我有一個名為“ INDEX”的數據框和一個名為“ TABLE”的數據框。

我希望能夠在“表”中添加一個名為“ ID”的新列,其中將包括“ INDEX”數據幀的相對“ ID”。

例如,“ Mark1”與ID = 1匹配,以此類推。最終結果將是:

Mark2 ID
1 Mark4  4
2 Mark4  4
3 Mark3  3
4 Mark1  1
5 Mark2  2 



    ID<-c("1","2","3","4")
    Mark=c("Mark1","Mark2","Mark3","Mark4")
    INDEX=data.frame(ID,Mark)

    Mark2=c("Mark4","Mark4","Mark3","Mark1","Mark2")
    TABLE=data.frame(Mark2)

    for(i in 1:nrow(TABLE)){
      if(INDEX[,1]==TABLE[i,1]){
        TABLE$ID<-INDEX$ID
      }
    }

使用match

TABLE$ID=INDEX$ID[match(TABLE$Mark2,INDEX$Mark)]

TABLE
  Mark2 ID
1 Mark4  4
2 Mark4  4
3 Mark3  3
4 Mark1  1
5 Mark2  2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM