将条件函数应用到查找值的公共文本的列
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","")
我有一个名为 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","")