본문 바로가기
R

[R.아르] R에서 엑셀의 vlookup()처럼 첫 번째 값만 가져오기

by LightBlogger 2016. 10. 28.

다음과 같은 x, y가 있다고 할 때



x의 product에 해당하는 y의 memo를 가져오는 것은 어렵지 않다.


2016/09/08 - [R] - [R.아르] R에서 엑셀의 vlookup() 기능 사용하기에 나왔던 merge()를 사용하면 되겠다.



하지만 이전 포스팅에서 지적했듯이, merge()는 가져오고자 하는 대상에 중복값이 있으면


그 값을 모두 매칭시켜 준다. (이 예에서는 E에 Eggplant와 Enchilada 라는 값이 두 개 있다.)


엑셀의 vlookup()이 첫 번째 값만 반환해 주는 것과는 사뭇 다르다.



vlookup()처럼 첫 번째 값만 반환하려면 


2016/09/12 - [R] - [R.아르] 중복된 행 삭제하기 unique() / duplicated() 에 등장한


duplicated()를 사용해 임시로 중복을 제거해야 한다.



y$product의 6번째 값은 중복이므로


다음과 같이 NOT("!") 을 사용하면 해당 값이 제거된다.



이제 이 값으로 merge()를 수행하면 첫 번째 값만 반환된다.






반응형

댓글