繁体   English   中英

用同一列中的多个字符串替换多个字符串?

[英]Replacing multiple strings with multiple strings in same column?

我正在尝试替换字符串(列)中的多个模式。 我遇到的问题是使用 str_replace。 我列出了字符串、要替换的模式和替换,它与 1 一起使用,但我似乎无法弄清楚如何替换字符串中的多个模式 (3)。 每个预期的模式都有一个特定的替换。

我要替换的三种模式以字母 P、N 或 G 开头,我想将它们替换为 Positive、Negative、General。

到目前为止我所拥有的是:

spreadsheet.dat1<-spreadsheet.dat %>%
  mutate(domain=str_replace(column, "^P.*", "Positive"))
spreadsheet.dat2<-spreadsheet.dat1 %>%
  mutate(domain=str_replace(column, "^N.*", "Negative"))
spreadsheet.dat3<-spreadsheet.dat2 %>%
  mutate(domain=str_replace(column, "^P.*", "General"))

我希望它会累积添加到新的列域中,正面、负面、一般都被 spreadsheet.dat3 替换,但它只替换当前的 function。

有小费吗?

如果您提供一个小的示例数据集,然后提供一个您希望将其变成的示例,将会有所帮助。 我想你要找的是

spreadsheet.dat1<-spreadsheet.dat %>%
mutate(domain=case_when(str_starts(column, "P") ~ "Positive",
str_starts(column, "N") ~ "Negative",
str_starts(column, "G") ~ "General",
TRUE ~ NA_character_))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM