2016-12-01 1 views
0

5,000 개가 넘는 관측치가있는 R의 데이터 세트와, 1,600 개가 넘는 관측치를 기반으로하는 영화가 포함 된 다른 데이터 세트가 있습니다. 나는 데이터 세트를 결합하고 그것을 서적을 기반으로 한 영화에만 서브 세트하고 싶습니다.불규칙한 수의 관측치가있는 서브 세트 데이터 세트 R

movie_title  duration gross  content_rating year 
Avatar   178  760505847  PG-13   2009 
The Jungle Book 106  362645141  PG    2016 

그리고 책 데이터 세트에서 몇 :

movie_title       book  author   released 
Hunger Games: Mockingjay, Part 2 Mockingjay Suzanne Collins 2015 
Insurgent       Insurgent Veronica Roth 2015 

난 단지 걱정들이 공통적으로 가지고있는 movie_titles에 대한 다음

은 몇 가지 샘플 영화 데이터 세트에서 datalines 있습니다. 두 개의 데이터 세트를 영화 제목으로 병합하려했는데 관찰 수가 0이라고합니다.

filter(imdb.movies, imdb.movies$movie_title==booklist$movie_title) 

을 그리고이 코드로 결합 : 이들의

combined_movies<- imdb.movies[imdb.movies$movie_title==booklist$movie_title] 

없음이 제대로 작동하지

movies<-merge(imdb.movies,booklist, by="movie_title") 

나는 또한이 코드를 필터링을 시도했습니다. imdb.movies$movie_title==booklist$movie_title을 비교하고 동일한 관측치 만 유지하는 방법이 있습니까?

+0

정확하게 이해했다면,'intersect (imdb.movies $ movie_title, booklist $ movie_title)'을 원한다. 두리스트의 교차점을 얻으면 두 데이터 세트 중 하나를 교차점에 영화 제목이있는 관측치로 서브 세트 할 수 있습니다. – cpander

+0

일치하는 부분이 있습니까? 또는 move_title이 두 데이터 셋 사이에 정확히 일치한다고 가정합니까? 병합을위한 코드가 나에게 잘 보입니다. 결과가 0 관측이라면 _exactly_와 일치하는 movie_titles가 없을 가능성이 높습니다 – useR

답변

0

당신이 사용할 수 dplyr 사용 :

inner_join(imdb.movies,booklist) 

는 모두 데이터 프레임의 movie_title 열 이름이 동일하다는 가정 및 이동 이름/책 이름이 동일한 것을.

+0

'merge (imdb.movies, booklist, by = "movie_title")'과 같은 결과를 줄지 않습니까? – cpander

+0

꽤 오랜 시간 동안 병합을 사용하지 않았 으면 바로보아야했지만 옳은 것 같습니다. '정확한 일치'에 대한 내 답변에주의 추가. – Jacob