You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中为包含County/Cnty的行创建虚拟变量

新增标记指定关键词的虚拟变量列(R语言实现)

先把你的原始数据整理成便于后续操作的格式:

County_or_City <- c("Butte County", "Oroville", "Solano Cnty", "Redding", "Maripossa county")
df <- data.frame(County_or_City)

这里给你两种常用的实现方法,按需选择:

方法一:Base R 原生实现

用grepl()函数匹配关键词,直接生成新列:

# 生成TRUE/FALSE格式的标记列
df$is_county <- grepl(pattern = "(Cnty|County|county)", x = df$County_or_City)

# 如果需要0/1格式的虚拟变量,把逻辑值转成整数即可
df$is_county_num <- as.integer(grepl(pattern = "(Cnty|County|county)", x = df$County_or_City))

# 查看最终结果
df

运行后输出:

County_or_City is_county is_county_num
1     Butte County      TRUE             1
2         Oroville     FALSE             0
3      Solano Cnty      TRUE             1
4          Redding     FALSE             0
5 Maripossa county      TRUE             1

方法二:tidyverse 工具链实现

如果你习惯用tidyverse的语法,结合dplyr和stringr包来操作:

library(dplyr)
library(stringr)

df <- df %>%
  mutate(
    is_county = str_detect(County_or_City, "(Cnty|County|county)"),
    is_county_num = as.integer(is_county)
  )

# 查看结果
df

输出结果和方法一完全一致。

说明

正则表达式(Cnty|County|county)表示匹配括号内任意一个关键词,grepl()和str_detect()都会返回逻辑值(TRUE/FALSE),转成整数后就得到0/1格式的标准虚拟变量。

内容的提问来源于stack exchange,提问作者RpySSMTM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:40:52