使用基于 str_detect 的 dplyr 的 mutate

小黑猩猩

我试图根据他们是否包含在“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),它将采用“player”列中的值并检查它是否在“home_lineup”列中。如果是,则返回“home”列中的值。如果不是,则返回“离开”列值。或者,我可以看到它是“如果在'home_lineup'中,返回'home',如果在'away_lineup'中,返回'away'”

使用时,当前代码返回值 away,这让我相信在尝试使用 'player' 值引用 'home_lineup' 列时存在问题。所有涉及的变量都在字符类中。

罗纳克·沙阿

由于str_detect在字符串和模式上进行了矢量化,我们可以使用它。同样为了获得带有"home""away"关键字的新列,我们可以使用相同的str_detect

library(dplyr)
library(stringr)

season_data_select %>% 
     mutate(player_team = if_else(str_detect(home_lineup, player), home, away), 
            new = c("away", "home")[str_detect(home_lineup, player) + 1])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Str_detect使用跨列

来自分类Dev

使用str_detect过滤多列

来自分类Dev

在for循环中使用Str_Detect

来自分类Dev

在dplyr :: mutate中使用条件

来自分类Dev

第2部分-使用Dplyr的“ group_by”创建组,然后使用Stringr的“ str_detect”查找组之间的差异

来自分类Dev

使用str_detect的特殊符号模式搜索

来自分类Dev

在R中使用str_detect()检测完全匹配

来自分类Dev

使用str_detect提取字符串的值

来自分类Dev

使用str_detect反向过滤多列

来自分类Dev

如何使用 str_detect 过滤 R 中的顶级域?

来自分类Dev

使用 str_detect 和 regex 匹配字符串

来自分类Dev

R:在dplyr :: mutate()中使用min()

来自分类Dev

使用dplyr :: mutate计算“平均销售份额”

来自分类Dev

无法使用dplyr mutate添加列

来自分类Dev

在 dplyr 的 mutate 中使用散列键值对

来自分类Dev

!str_detect(col, pattern) 从 data.frame 中删除的行比使用 str_detect(col, pattern) 找到的行多

来自分类Dev

使用dplyr的mutate()函数在sum()函数中使用列

来自分类Dev

mutate()中的Dplyr管道(%>%)?

来自分类Dev

dplyr 评估:select() 与 mutate()

来自分类Dev

在dplyr mutate中使用“ diff”功能时出错

来自分类Dev

R:可以在mutate()(dplyr包)中使用exist()函数吗?

来自分类Dev

使用mutate_each_控制dplyr评估范围

来自分类Dev

使用dplyr mutate查找值在组中的首次出现

来自分类Dev

dplyr错误:在mutate()中使用rle()未找到对象

来自分类Dev

使用dplyr :: mutate()对列子集进行逐行cor()

来自分类Dev

dplyr`mutate`使用两次时返回错误

来自分类Dev

使用dplyr mutate自动生成新的变量名

来自分类Dev

在dplyr mutate中使用自定义函数?

来自分类Dev

在dplyr mutate_at调用中使用多列函数

Related 相关文章

  1. 1

    Str_detect使用跨列

  2. 2

    使用str_detect过滤多列

  3. 3

    在for循环中使用Str_Detect

  4. 4

    在dplyr :: mutate中使用条件

  5. 5

    第2部分-使用Dplyr的“ group_by”创建组,然后使用Stringr的“ str_detect”查找组之间的差异

  6. 6

    使用str_detect的特殊符号模式搜索

  7. 7

    在R中使用str_detect()检测完全匹配

  8. 8

    使用str_detect提取字符串的值

  9. 9

    使用str_detect反向过滤多列

  10. 10

    如何使用 str_detect 过滤 R 中的顶级域?

  11. 11

    使用 str_detect 和 regex 匹配字符串

  12. 12

    R:在dplyr :: mutate()中使用min()

  13. 13

    使用dplyr :: mutate计算“平均销售份额”

  14. 14

    无法使用dplyr mutate添加列

  15. 15

    在 dplyr 的 mutate 中使用散列键值对

  16. 16

    !str_detect(col, pattern) 从 data.frame 中删除的行比使用 str_detect(col, pattern) 找到的行多

  17. 17

    使用dplyr的mutate()函数在sum()函数中使用列

  18. 18

    mutate()中的Dplyr管道(%>%)?

  19. 19

    dplyr 评估:select() 与 mutate()

  20. 20

    在dplyr mutate中使用“ diff”功能时出错

  21. 21

    R:可以在mutate()(dplyr包)中使用exist()函数吗?

  22. 22

    使用mutate_each_控制dplyr评估范围

  23. 23

    使用dplyr mutate查找值在组中的首次出现

  24. 24

    dplyr错误:在mutate()中使用rle()未找到对象

  25. 25

    使用dplyr :: mutate()对列子集进行逐行cor()

  26. 26

    dplyr`mutate`使用两次时返回错误

  27. 27

    使用dplyr mutate自动生成新的变量名

  28. 28

    在dplyr mutate中使用自定义函数?

  29. 29

    在dplyr mutate_at调用中使用多列函数

热门标签

归档