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

R语言如何基于另一数据框的列值筛选目标数据框的指定列

解决方案

你原有代码返回空表的原因是函数误用:filter()是dplyr中用于按条件筛选行观测的函数,你需要的按列名选择字段需要用select()函数实现。

方案1:dplyr(适配原有管道写法)

首先加载dplyr包:

library(dplyr)

实现代码:

df3 <- df %>%
  # 固定保留AA列,再按df2$E存储的列名匹配选择对应列
  select(AA, all_of(df2$E))

说明:all_of()用于安全传入外部字符向量作为列名,避免环境中存在同名对象时引发的选择歧义。

方案2:base R实现(无需加载第三方包)

df3 <- df[, c("AA", df2$E)]

两种方案运行后得到的df3完全符合你给出的目标结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:15:02