将条件函数应用到查找值的公共文本的列

aplicate a conditional funcion to a column looking for a common text of the values

我有一个名为 INFO_X_RADIO_SUCURSAL 的数据框,我需要创建一个名为 ZONA 的新向量(列)。如果在名为 LOCALIDAD 的列中出现单词 "Montevdeo",则 ZONA 的值需要为 "MONTEVIDEO",但问题是在 LOCALIDAD 中我有很多包含单词 montevideo 的值,因此,我需要使用一个涉及所有这些情况的条件,例如:如果在 LOCALIDAD 中你读到 "Mont.." put here in ZONA "MONTEVIDEO"

grepl 是您想要的功能:它在文本中搜索给定字符串而不是测试相等性:

INFO_X_RADIO_SUCURSAL$ZONA <- grepl(
  "Montevdeo", ## pattern you are looking for
  INFO_X_RADIO_SUCURSAL$LOCALIDAD, ## where to look for it
  ignore.case=TRUE, ## you don't care if it's caps or not
  fixed=TRUE ## the pattern is a simple one (not a regular expression)
)

如果 "Montevideo" 在给定列中,则为 TRUE,否则为 FALSE。你想要 "Montevideo" 和 "" 而不是这些逻辑值,所以 运行

INFO_X_RADIO_SUCURSAL$ZONA <- ifelse(INFO_X_RADIO_SUCURSAL$ZONA,"MONTEVIDEO","")