【发布时间】:2022-01-19 15:57:14
【问题描述】:
我正在尝试整理一些数据,这些数据全部包含在名为“game_info”的 1 列中作为字符串。该数据包含即将到来的大学篮球比赛数据,包括日期、时间、球队 ID、球队名称等。理想情况下,每一个都是自己的列。我曾尝试使用空格分隔符分隔,但效果不佳,因为有些团队,例如“Duke”,他们的名字有 1 个部分,而团队的名字有 2 到 3 个部分(密歇根州、南达科他州等) )。也有团队名称中带有“-”破折号。
这是我的数据:
df <- data.frame(list(
game_info = c(
"12/16 7:00 PM 751 Appalachian State 752 Duke",
"12/16 7:00 PM 753 Chicago State 754 Indiana-Purdue",
"12/16 8:00 PM 755 Texas-Arlington 756 Oral Roberts",
"12/16 10:00 PM 757 Dartmouth 758 Stanford"
)
))
期望的输出:
date time away_team_id away_team_name home_team_id home_team_name
12/16 7:00 PM 751 Appalachian State 752 Duke
12/16 7:00 PM 753 Chicago State 754 Indiana-Purdue
12/16 8:00 PM 755 Texas-Arlington 756 Oral Roberts
12/16 10:00 PM 757 Dartmouth 758 Stanford
@Jonny Phelps @doRemy
【问题讨论】:
-
是否有一组有限的团队名称。与其使用正则表达式或类似策略,我可能会以编程方式(grepl)用串联版本(例如 Oral_Roberts)替换两个措辞学校名称,然后再次重试您的原始策略。这取决于有多少个团队名称。
-
出于好奇,读取的数据是什么文件类型(.txt、.csv、.xlsx ...)以及使用哪个函数?
-
@rg255 只是用来自vegasinsider.com/college-basketball/odds/las-vegas的 rvest 刮擦
-
您能发布用于执行此操作的代码吗?我想知道是否有办法主动处理它而不是被动处理问题 - 我无法访问该网站,因为我在工作计算机上,所以它被阻止了
-
我认为您应该删除其中一个标签并改为使用
regex标签。因为它更容易引起正则表达式天才的注意。
标签: r regex dplyr data-manipulation data-cleaning