[英]Create another dataframe based on an existing dataframe based on a column value in R
[英]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.