【发布时间】:2019-07-13 02:03:20
【问题描述】:
我正在尝试根据他们是否包含在“home_lineup”或“away_lineup”字符串中,为我的数据框中的每个球员分配球队值。
我使用了str_detect 函数,除此之外,我还没有找到解决问题的替代方法。
此链接中包含数据框的快照,该快照将具有 season_data_select 分配。
library(gsheet)
url <- 'https://docs.google.com/spreadsheets/d/1Z1njK5FxCZgIUaxxoRUVaK8DFNWP4OGthT6kuFHcC7I/edit?usp=sharing'
season_data_select <- gsheet2tbl(url)
https://docs.google.com/spreadsheets/d/1Z1njK5FxCZgIUaxxoRUVaK8DFNWP4OGthT6kuFHcC7I/edit?usp=sharing
library(dplyr)
season_data_select <- season_data_select %>%
mutate(player_team = ifelse(str_detect(player, home_lineup),
home,
away))
理想情况下,我正在寻找一个引入新列 (player_team) 的代码,该列将采用“玩家”列中的值并检查它是否在“home_lineup”列中。如果是,则返回“home”列中的值。如果不是,则返回“离开”列值。或者,我可以看到它是“如果在'home_lineup'中,则返回'home',如果在'away_lineup'中,则返回'away'”
使用时,当前代码会返回 away 中的值,这让我相信在尝试使用 'player' 值引用 'home_lineup' 列时存在问题。所有涉及的变量都在字符类中。
【问题讨论】:
-
您可以在这里使用
dput分享数据吗?dput(season_data_select)准确地说。此外,如果您还可以显示共享数据的预期输出,它会更容易提供帮助。 -
@RonakShah 您好,我刚刚更新了 Google 电子表格以指示所需的结果(以黄色突出显示)。而且我无法让 dput 为 3.5.3 工作,但该电子表格是我正在使用的数据框的示例。如果您可以将其复制到 excel 文件中并另存为 csv.,它应该可以工作。