r - 如何将具有不同(和重复)分隔符的字符串分隔成多列?

标签 r dplyr

<分区>

我很难将一列中的数据分成多列——数据有多个分隔符。我检查了 stackoverflow 解决方案,但找不到符合我情况的解决方案。

输入 enter image description here

我的尝试

df %>%
  separate(col = game, into = c("year", "day", "month", "monthday", "site", "team", "decision", "runs1", "runs2", "pitcher"), sep = "[. ,-]", remove = TRUE)

期望的输出(见输入图像)

输出

structure(list(game = c("2021. Mon, Apr 5 at PHI L (3-5)#", "2020. Fri, Jul 24 vs ATL W (1-0)", 
"2019. Thu, Mar 28 at WSN W (2-0)", "2018. Thu, Mar 29 vs STL W (9-4)", 
"2017. Mon, Apr 3 vs ATL W (6-0)"), pitcher = c("deGrom", "deGrom", 
"deGrom", "Syndergaard", "Syndergaard")), class = c("tbl_df", 
"tbl", "data.frame"), row.names = c(NA, -5L))

我更喜欢 dplyr 结果,但对其他人开放。

最佳答案

许多好的答案,下面是另一种变体

#replace all punctuation with a space then seperate
  df %>% 
    mutate(game=str_replace_all(game,"[:punct:]"," ")) %>% 
    separate(col = game,into = c("year", "day", "month", "monthday", "site", "team", "decision", "runs1", "runs2"))

关于r - 如何将具有不同(和重复)分隔符的字符串分隔成多列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71718525/

相关文章:

r - Purrr 根据包含字符向量的非嵌套变量过滤嵌套数据

r - 使用 tidyverse 对长格式数据框中的两个变量求和

r - 将 pvalue 列添加到 R 中的数据框

r - 数据集的 dplyr 字符串突变问题

R:涉及多个数据帧的ifelse语句测试

r - 如何使用 R 对两个回归的斜率进行韦尔奇 t 检验?

正则表达式获取间隔下划线之间的字符串

r - 如何在ggmap中获得前N个最大的密度点坐标

r - 如何将值从一个数据帧传输到另一个数据帧?

r - 无法删除文件 - 打开我的 Rstudio