【发布时间】:2018-08-21 09:00:24
【问题描述】:
我正在尝试从 2 个不同的网站抓取电影集
我想结合这两个信息,并使用电影标题名称将它们捆绑起来。这是第一个数据集的样子
structure(list(event_name = c("maze runner: the death cure", "star wars: the last jedi",
"spider-man: homecoming"), event_start_time = structure(c(100,
200, 300), class = "Date"), movie_sold_all = c(100L, 200L,
300L)), .Names = c("event_name", "event_start_time", "movie_sold_all"
), row.names = c(NA, 3L), class = "data.frame")
这是我抓取的第二个数据集
我希望加入movie_title,这样他们就会合并这两个信息。基本类似于 SQL 中的left join
我试过merge( df_bq_movies,movies,by.y="movie_title",all.x = TRUE)
但发生错误
Error in merge.data.frame(df_bq_movies, movies, by.y = "movie_title", :'by.x' and 'by.y' specify different numbers of columns
更多信息,这是数据集的维度
data 1 : 605 rows , 3 column
data 2 : 509 rows , 21 column
【问题讨论】:
-
在第一个数据集中,名字是
event_name -
试试
library(dplyr); left_join(df_bq_movies, movies, by=c("event_name" = "movie_title") -
@akrun 两个数据集应该有相同的列名吗?
-
如果您查看@Stephan 的评论,它也可能有所不同。使用
merge,需要指定by.x -
@akrun 已经证明两个列名现在相同,所有列现在都使用
left join进入同一个数据框,但是第二个数据框列返回NA。是因为角色吗?