为电影创建虚拟变量
Creating dummy variables for movies
我想在我的数据集中为动作片创建虚拟变量。
我的代码是,
imdb$action_movies <- ifelse(imdb$imdb.com_genres == "Action", 1,0)
不幸的是,当我 运行 这段代码时,我只得到带有 Action
标签的电影,而不是带有多个标签的电影,例如动作冒险。
如何才能使我的虚拟变量包含具有动作标签和多种其他类型的电影?
这是一个比较简单的问题,正则表达式就可以解决。
基本上我们要检查每个字符串以查看它是否包含“Action”。如果是,我们给它一个 1,如果不是一个 0。
我们可以使用 {stringr}
中的 str_detect()
来做到这一点。
从那里我们将匹配放入 ifelse()
语句,就像您在上面所做的那样。
最后一列的示例如下所示
movies <- c("Action", "Comedy, Action, Adventure", "Action, Adventure")
imdb$action_movies <- ifelse(str_detect(movies, "Action") == T, 1, 0)
哪个returns
[1] 1 1 1
我想在我的数据集中为动作片创建虚拟变量。
我的代码是,
imdb$action_movies <- ifelse(imdb$imdb.com_genres == "Action", 1,0)
不幸的是,当我 运行 这段代码时,我只得到带有 Action
标签的电影,而不是带有多个标签的电影,例如动作冒险。
如何才能使我的虚拟变量包含具有动作标签和多种其他类型的电影?
这是一个比较简单的问题,正则表达式就可以解决。
基本上我们要检查每个字符串以查看它是否包含“Action”。如果是,我们给它一个 1,如果不是一个 0。
我们可以使用 {stringr}
中的 str_detect()
来做到这一点。
从那里我们将匹配放入 ifelse()
语句,就像您在上面所做的那样。
最后一列的示例如下所示
movies <- c("Action", "Comedy, Action, Adventure", "Action, Adventure")
imdb$action_movies <- ifelse(str_detect(movies, "Action") == T, 1, 0)
哪个returns
[1] 1 1 1