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

如何在R语言DataFrame中查找含指定字符串的列?

找出DataFrame中含"CONFIDENTIAL"的列并移除

情况1:列中所有值都是"CONFIDENTIAL"

对应你提供的示例场景,用以下代码提取列名:

# 提取所有值均为保密字符串的列名
conf_cols <- colnames(df)[sapply(df, function(x) all(x == "CONFIDENTIAL"))]
# 查看结果
conf_cols

运行后会输出:

[1] "name"     "location"

用dplyr移除这些列的两种方式:

library(dplyr)

# 方式1:用提取到的列名向量
df_clean <- df %>% select(-all_of(conf_cols))

# 方式2:直接写列名
df_clean <- df %>% select(-c(name, location))

情况2:列中只要有一个值是"CONFIDENTIAL"

如果你的DataFrame里存在部分值为保密字符串的列,用以下代码提取:

# 提取至少含一个保密字符串的列名
conf_cols_partial <- colnames(df)[sapply(df, function(x) any(x == "CONFIDENTIAL"))]

基于你之前的which结果改造

如果你想基于之前用which得到的位置信息提取列名,也可以这样处理:

pos <- which(df == "CONFIDENTIAL", arr.ind = TRUE)
# 去重后提取列名
conf_cols_which <- unique(colnames(df)[pos[, "col"]])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 21:15:41