【发布时间】:2020-06-14 23:29:25
【问题描述】:
我阅读了很多其他答案,但似乎没有找到我需要的东西。我正在尝试创建 NFL 球队记录数据的数据库,但我无法正确创建“种子”的新变量并保留数据。所以我有一些NFL球队的名字,在他们的一些末尾有特殊字符,表示赢得了他们的分区或外卡季后赛席位,我想保留。例如这里是我的 df:
Tm
New England Patriots*
Buffalo Bills+
New York Jets
Miami Dolphins
我知道这行得通,但似乎不是正确的方法
#create new variable of "Seed"
df <- df %>% dplyr::mutate(Seed = Tm)
#remove all but special characters from "Seed"
df$Seed=gsub("[A-z0-9. ]", "", df$Seed)
#remove special characters from "Tm"
df$Tm=gsub("[\\*\\+]", "", df$Tm)
理想情况下,我想做的只是将它们分成 2 列而不创建额外的数据来清理,如下所示:
Tm Seed
New England Patriots *
Buffalo Bills +
New York Jets
Miami Dolphins
在伪代码中:创建新变量“Seed” -> 从“Tm”中提取和删除特殊字符“*”和“+”并转移到新变量“Seed” -> 如果“Tm”不包含“* " 或 "+" 然后将 "种子" 中的相应列留空
这样做的正确方法是什么?
非常感谢任何帮助,谢谢!
【问题讨论】:
-
strcapture("(.+?)(\\W*$)",df$Tm,data.frame(Tm = character(),speed = character()))
标签: r dplyr extract special-characters tidyr