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

R中跨多个数据集统计列名出现频次及所属数据框的方法

R 多数据集列名出现情况统计实现

首先修正你示例代码里的语法笔误:原d3定义行多写了一个<-,实际运行前需要先修正输入:

# 示例列名输入(修正原代码语法错误)
d1 <- c("Institution", "Department", "Complete",
        "effective_goals", "recs_open", "mostvaluable_open", "learningdifferences_l",
        "studentmotivation_l")
d2 <- c("Institution", "Department", "Complete", 
        "effective_goals", "recs_open", "effective_tools", "learningdifferences_l")    
d3 <- c("Institution","Department", "Complete", 
        "effective_goals", "effective_tools", "effective_assessment", "learningscience_freq")

实现方案

全程使用R基础函数实现,无需安装第三方包,核心逻辑如下:

  • 将所有待统计的数据集列名存入命名列表,列表的名称为需要标注的数据集标识(如d1、d2、d3),列表值为对应数据集的列名向量
  • 提取所有出现过的不重复列名,作为结果的第一列全集
  • 逐列遍历判断每个列名在哪些数据集中存在,同步统计出现次数、拼接所属数据集名称
  • 整理为三列结构的标准数据框

完整可运行代码:

# 1. 构造列名命名列表,后续新增数据集直接往列表中追加元素即可
col_list <- list(
  d1 = d1,
  d2 = d2,
  d3 = d3
)

# 如果你是直接操作真实的调查数据框对象(比如f2018、sum2015),
# 可以跳过前面的示例列名定义,直接按下面的方式构造col_list:
# col_list <- list(
#   d1 = colnames(f2018),
#   d2 = colnames(sum2015),
#   d3 = colnames(替换为第三个数据集的对象名)
# )

# 2. 提取全量去重列名
all_cols <- unique(unlist(col_list))

# 3. 批量统计生成结果
col_stat <- data.frame(
  col_name = all_cols,
  appear_count = sapply(all_cols, function(col) sum(sapply(col_list, \(colset) col %in% colset))),
  belong_dataset = sapply(all_cols, function(col) paste(names(col_list)[sapply(col_list, \(colset) col %in% colset)], collapse = ", ")),
  row.names = NULL
)

结果验证

运行代码后得到的col_stat完全匹配你给出的预期结构,输出如下:

col_name appear_count belong_dataset
1              Institution            3     d1, d2, d3
2               Department            3     d1, d2, d3
3                 Complete            3     d1, d2, d3
4           effective_goals            3     d1, d2, d3
5                recs_open            2         d1, d2
6         mostvaluable_open            1             d1
7      learningdifferences_l            2         d1, d2
8        studentmotivation_l            1             d1
9           effective_tools            2         d2, d3
10    effective_assessment            1             d3
11      learningscience_freq            1             d3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 17:48:19