如何在R语言中将数据框tourney_name列的Us Open改为US Open?
解决方法
以下几种方式都可以精准修改tourney_name列中的"Us Open"为"US Open",其他值保持不变:
方法一:使用dplyr的mutate + case_when
适合需要清晰区分匹配条件的场景,代码可读性强:
library(dplyr) Atp_together_68_21 <- Atp_together_68_21 %>% mutate(tourney_name = case_when( tourney_name == "Us Open" ~ "US Open", TRUE ~ tourney_name ))
方法二:Base R直接替换
简洁高效,不需要加载额外包:
Atp_together_68_21$tourney_name[Atp_together_68_21$tourney_name == "Us Open"] <- "US Open"
方法三:使用dplyr的replace函数
语法更紧凑,适合单条件替换:
library(dplyr) Atp_together_68_21 <- Atp_together_68_21 %>% mutate(tourney_name = replace(tourney_name, tourney_name == "Us Open", "US Open"))
验证修改结果
可以重新运行你提供的筛选代码,确认"Us Open"已被替换:
Atp_together_68_21 %>% filter(round == "F", tourney_level == "G") %>% select(tourney_name) %>% unique()
内容的提问来源于stack exchange,提问作者Grant Weaver
相关产品推荐
相关产品推荐

