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

R语言获取两个数据框公共列名及查询向量公共元素方法

R语言相关操作解答

1. 查找向量A中存在于向量B内的元素

针对你给出的示例向量:

names_1 <- c("A", "B", "C", "D")
names_2 <- c("C", "D", "E")

有两种常用实现方式:

  • 方法1:使用%in%匹配运算符
    该方式会保留names_1的元素原有顺序
result <- names_1[names_1 %in% names_2]
# 输出结果为 "C" "D"
  • 方法2:使用intersect()集合交集函数
    直接返回两个向量的共有元素,代码更简洁
result <- intersect(names_1, names_2)
# 输出结果为 "C" "D"

2. 获取两个数据框的公共列名

同样可以借助上述的集合匹配逻辑实现,示例如下:
首先构造示例数据框:

df1 <- data.frame(A = 1:3, B = 4:6, C = 7:9, D = 10:12)
df2 <- data.frame(C = 13:15, D = 16:18, E = 19:21)

实现方法:

  • 方法1:使用intersect()直接匹配列名
common_cols <- intersect(colnames(df1), colnames(df2))
# 输出结果为 "C" "D"
  • 方法2:使用%in%运算符
    如果需要严格按照第一个数据框的列顺序返回结果,可以用该方法:
common_cols <- colnames(df1)[colnames(df1) %in% colnames(df2)]
# 输出结果为 "C" "D"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:18:04